【问题标题】:Calculate Average, Mean, Max and Min Temperature & Humidity from a text file in Python从 Python 中的文本文件计算平均、平均值、最大和最小温度和湿度
【发布时间】:2026-01-21 05:35:01
【问题描述】:

我正在尝试从文本文件中获取平均、平均、最大和最小温度和湿度。此文本文件正在捕获温度和湿度的日常数据。 我面临的数据格式问题如下:

2017-05-02 17:31:13 24.00,49.00
2017-05-02 17:32:13 24.00,49.00
2017-05-02 17:33:13 24.00,49.00  
2017-05-02 17:34:14 24.00,49.00  
2017-05-02 17:35:14 24.00,49.00 
2017-05-02 17:36:14 24.00,49.00 
2017-05-02 17:37:14 24.00,49.00  
2017-05-02 17:38:14 24.00,49.00

在这里,由于拆分器很多,我无法正确拆分列。 我可以计算平均值,但首先程序应该读取温度和湿度列。

数据说明: 第一栏:日期 第二栏:时间 第三列:温度 第四栏:湿度

谁能帮我正确读取温度和湿度,以便我可以计算平均值。

【问题讨论】:

  • 向我们展示您迄今为止的尝试?
  • 一个简单的想法是使用“,”来定位您的两个值 - 前 5 个字符和后 5 个字符。至少那是我会做的——在 excel 中。
  • 用空格替换逗号,然后在空格处拆分行。有大量的收据:*.com/questions/3277503/…
  • 此外,我会尝试更改数据记录器,使其不包含这个愚蠢的逗号。我会使用 pandas 来分析数据(如果格式化程序是正确的)。

标签: python


【解决方案1】:

例如:

import numpy as np
import pandas as pd

data = []
with open('data.txt', 'r') as f:
    for line in f:
        temp = line.replace(',',' ').strip('\n').split(' ')
        data.append(temp)

df = pd.DataFrame.from_records(data)
df.columns = ['date', 'time', 'temperature', 'humidity']
# if the data is not recogniced as float
df = df.apply(pd.to_numeric, errors='ignore')
# you could use mean max median etc
df.humidity.mean()

【讨论】:

    最近更新 更多