python - 在 Python 中计算每日平均值(一天对一个变量有多个值)
问题描述
我有一个 csv 数据,其中包含多个变量作为每日时间序列。但是一天有多个值。我需要根据这些多个值计算整个期间的每日平均温度。
CSV 文件存储在这里:https ://drive.google.com/file/d/1zbojEilckwg5rzNfWtHVF-wu1f8d9m9J/view?usp=sharing
当您每天过滤时,您每天可以看到 27 个不同的值。
我可以过滤每一天并取平均值,例如:
inpcsvFile = 'C:/.../daily average - one day has multiple values.csv'
df = pd.read_csv(inpcsvFile)
df2=df[df['Dates']=='1/1/1971 0:00']
df3=df2.append(df2.agg(['mean']))
但是我怎样才能获得整个期间的每日平均值呢?
解决方案
这是解决方案,感谢pandas dataframe groupby datetime month。在这里,我使用“D”而不是“M”。
import pandas as pd
inpcsvFile = 'C:/.../daily average - one day has multiple values.csv'
df = pd.read_csv(inpcsvFile)
df['Dates'] = df['Dates'].astype(str) #convert entire "Dates" Column to string
df['Dates']=pd.to_datetime(df['Dates']) #convert entire "Dates" Column to datetime format this time
df.index=df['Dates'] #replace index with entire "Dates" Column to work with groupby function
df3=df.groupby(pd.TimeGrouper(freq='D')).mean() #take daily average of multiple values
推荐阅读
- django - 从 Django 模板传递数据以响应 App
- docker - 无法杀死每 10 秒重新启动的 docker
- c - fgetc 与 fread 哪个更有效?
- python - Pytesseract 在乌尔都语和阿拉伯语文本中不返回任何内容
- java - '尝试在空对象引用上调用虚拟方法'android.view.View android.view.View.findViewById(int)'的致命异常'
- laravel - Laravel 中间件登录重定向
- java - 在java中解决此代码时面临循环问题
- html - 如何以角度跟踪 Double ngFor 循环中的索引?
- javascript - 了解 JavaScript 中的标记和扫描算法
- javascript - 当滚动未完成时不要再次滚动事件