【发布时间】:2020-04-09 21:42:47
【问题描述】:
对于每个名称/位置,计算每月的平均降雪量。将结果保存在两个单独的 .csv 文件中(一个用于 2016,另一个用于 2017)将文件命名为 average2016.csv 和 average2017.csv。
我正在使用 Python 3.8 和 pandas。
我试过这段代码:
import numpy as np
import pandas as pd
df = pd.read_csv('filteredData.csv')
df['DATE'] = pd.to_datetime(df['DATE'])
df['year'] = pd.DatetimeIndex(df['DATE']).year
df['month'] = pd.DatetimeIndex(df['DATE']).month
df16 = df[(df.year == 2016)]
df17 = df[(df.year == 2017)]
df_2016 = df16.groupby(df.month).mean()
df_2017 = df17.groupby(df.month).mean()
df_2016.to_csv('average2016.csv', index=False)
df_2017.to_csv('average2017.csv', index=False)
但是,它并没有完全按照我的意愿去做。这给了我所有地点每月的平均降雪量。但是,我需要每个 NAME/LOCATION 每个月的平均降雪量。我如何能够获得每个月每个名称/位置的平均降雪量,然后将结果保存在单独的 .CSV 文件中,2016 年和 2017 年?
【问题讨论】:
-
将您希望分组的列列表传递给“groupby”函数。
-
groupby接受列列表。试试df16.groupby(['station', 'month'])看看你能在哪里找到? -
当我尝试将列列表传递给“groupby”函数时,我只能得到相同的原始文件或者只是一个混乱的 SNOW 列