当前位置: 首页 > 知识库问答 >
问题:

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

堵茂勋
2023-03-14

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

我正在使用Python 3.8与熊猫。我尝试过:

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)

但是我得到的只是错误。我不知道从哪里开始。

这是Filteredata的一小部分。csv

共有1个答案

冯庆
2023-03-14

您的日期字段最初具有数据类型对象,因此您需要在调用日期转换函数之前对其进行转换。在将数据集分解为两个数据帧(每年一个)后,我将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)
 类似资料:
  • 对于每个名称/位置,计算每月的平均降雪量。将结果保存在两个单独的文件夹中。csv文件(一个用于2016年,另一个用于2017年)将文件命名为average2016。csv和平均值2017。csv。 我正在使用Python3.8和pandas。 我尝试过以下代码: 然而,它并没有完全按照我的要求去做。这是所有地点每月的平均降雪量的总和。然而,我需要每个名字/地点每月的平均降雪量。我如何才能得到每个名

  • 我需要计算每行的平均值,并存储在最后一个元素中。我设法做到了,但后面的行是前一行的累计平均值。例如: 输入: 1 2 3 0 4 5 6 0 输出: 1.00 2.00 3.00 2.00 4.00 5.00 6.00 7.00(应为5.00) 这是我的代码 提前谢谢。:)

  • 无法计算年、月、日两个日期之间的差异。问题是每个月有30天,每年有365天,没有例外。这里有很多话题,但我没有找到任何能解决我的问题或帮助我解决问题的。我发现的每一个主题都只是用普通的方法解决计算差分的问题,这很简单。我如何计算这种差异? 我使用的是Java 7(没有机会安装joda time)和groovy 2.4.0。 例子有: 谢谢

  • 到目前为止,这是我的代码,我很难定义字符串和UInt32从列表数组中选择的每个循环。谁能告诉我如何克服这个问题?

  • Python3 实例 以下代码通过导入 calendar 模块来计算每个月的天数: # Filename : test.py # author by : www.runoob.com import calendar monthRange = calendar.monthrange(2016,9) print(monthRange) 执行以上代码输出结果为: (3, 30) 输出的是一个元

  • 对文件中的数据进行排序average2016。csv和平均值2017。csv。仅存储每个文件中前3个位置。前3个位置的数据将存储在一个文件中,命名为top3。csv。前三名中的每一列。csv文件将存储每年的结果。因此,排名前三。csv文件将包含2016列和2017列。 我正在使用Python 3.8与熊猫 我不知道该怎么办。我需要对这些文件中的数据进行排序。我只需要存储每个位置的前3个位置。CSV