[英]How to calculate the average snow amount per month for each NAME/LOCATION and then save the results in a .CSV file in Python?
[英]Python Pandas - get an average of 'SNOW' per month from each location/ 'NAME'
我有一个名为Data.csv的.csv文件。 我需要查找每个位置或“ NAME”每个月的平均降雪量。 然后,我需要保存2016年和2017年的年度总计,以将.csv文件分开。 我在用熊猫。 不知道从哪里开始。
这是我现在通过研究得出的结论。
import pandas as pd
df2 = pd.read_csv("Data.csv")
gname = df2.groupby('NAME')
for NAME, Name_df2 in data:
df2['DATE'] = pd.to_datetime(df2['DATE'])
df2.groupby([df.DATE.dt.month,'NAME','SNOW']).mean().sort_values()
首先需要您为我们提供示例数据。 但这是定向的:
import pandas as pd
df = pd.read_csv('data.csv')
df['DATE'] = pd.to_datetime(df['DATE'])
g = df.groupby([df.DATE.dt.year, df.DATE.dt.month, 'NAME'])['SNOW'].mean().reset_index().sort_values()
df_2016 = df.loc[df.DATE.dt.year == 2016]
df_2016.to_csv('2016 snow totals.csv', index=False)
df_2017 = df.loc[df.DATE.dt.year == 2017]
df_2017.to_csv('2017 snow totals.csv', index=False)
如果您只有2年以上的时间,则应将分组的数据框拆分为一个列表,然后像这样遍历整个列表。
for year in range(df.DATE.dt.year.min(), df.DATE.dt.year.max()):
df.loc[df.DATE.dt.year == year].to_csv(year + '_snowfall.csv', index=False)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.