1 回答

TA貢獻1995條經(jīng)驗 獲得超2個贊
您可以sort在 DATE 列上。但是你需要記住sort=False在你的 groupby 中做,否則它將使用字符串排序在那里排序。此外,您每年的重復代碼可以替換為單個 groupby,添加year到分組鍵中。然后,您將分別寫入不同的文件,index=False這就是您擺脫索引的方式。
import numpy as np
import pandas as pd
df = pd.read_csv('filteredData.csv')
df['DATE'] = pd.to_datetime(df['DATE'])
df['year'] = df['DATE'].dt.year # Datetime has this attribute already
df = df.sort_values(['NAME', 'DATE']) # Output will be in order within each Name
df = (df[df.year.between(2016,2017)] # Only 2016 and 2017
.groupby(['year', 'NAME', 'Month'], sort=False)['SNOW']
.mean().reset_index())
for year,gp in df.groupby('year'): # Write files separately by year
gp[['NAME', 'Month', 'SNOW']].to_csv(f'average{year}.csv', index=False)
添加回答
舉報