Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在.CSV文件中,为每个位置(名称)计算每月平均降雪量,然后将结果保存在python中的两个单独的.CSV文件中?_Python_Pandas_Csv - Fatal编程技术网

在.CSV文件中,为每个位置(名称)计算每月平均降雪量,然后将结果保存在python中的两个单独的.CSV文件中?

在.CSV文件中,为每个位置(名称)计算每月平均降雪量,然后将结果保存在python中的两个单独的.CSV文件中?,python,pandas,csv,Python,Pandas,Csv,对于filteredData.csv中的每个名称,计算每月的平均降雪量。将结果保存在两个单独的.csv文件中(一个用于2016年,另一个用于2017年),将文件命名为average2016.csv和average2017.csv 我正在使用Python3.8和pandas。我试过: df = pd.read_csv('filteredData.csv') g = df.groupby([df.DATE.dt.year, df.DATE.dt.month, 'NAME'])['SNOW'].mea

对于filteredData.csv中的每个名称,计算每月的平均降雪量。将结果保存在两个单独的.csv文件中(一个用于2016年,另一个用于2017年),将文件命名为average2016.csv和average2017.csv

我正在使用Python3.8和pandas。我试过:

df = pd.read_csv('filteredData.csv')
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('average2016.csv', index=False)
df_2017 = df.loc[df.DATE.dt.year == 2017]
df_2017.to_csv('average2017.csv', index=False)
但我从中得到的只是错误。我不知道从哪里开始


您的
日期
字段最初具有数据类型
对象
,因此您需要在调用日期转换函数之前对其进行转换。在将数据集分解为两个数据帧(每年一个)后,我将
groupby
简化为按月分组

import numpy as np
import pandas as pd

df = pd.read_csv('filtered_data.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)

是否有办法将位置(名称)包含在内,以便我可以在新的平均值文件中按月对每个位置的平均值进行分组?还有没有办法将日期格式化为dd/mm/yyyy格式?