gpt4 book ai didi

Python Pandas 平均按位置和日期/月份

转载 作者:太空宇宙 更新时间:2023-11-04 00:21:35 27 4
gpt4 key购买 nike

使用:Python 3.6, Pandas 0.22

我有一个 .csv 文件,我需要从中获取基于月份和位置的平均值。这是数据中的一行,还有更多具有多个位置和日期的行:

名称日期雪
大急流城杰拉尔德福特国际机场,美国密歇根州 1/1/2016,0.7

到目前为止,我已经成功地根据月份和平均每月对信息进行了排序:

df2 = pd.read_csv("Data.csv")

gname = df2.groupby('NAME')

for NAME, NAME_df2 in gname:
df2['DATE'] = pd.to_datetime(df2['DATE'])
df2.groupby(df2['DATE'].dt.strftime('%B'))['SNOW'].mean().sort_values()

执行时:

  DATE
August 0.000000
July 0.000000
June 0.000000
September 0.000000
May 0.000562
October 0.000966
November 0.019712
April 0.155592
March 0.248475
February 0.319048
January 0.622969
December 1.129986
Name: SNOW, dtype: float64

我的问题是这段代码只是在无限循环中给出所有位置的每个月的总平均值。我不知道如何让我的输出根据每个位置每月的平均降雪量对数据进行排序。

最佳答案

您在遍历它时修改循环中的 DataFrame。这是错误的。

您需要按月份和地点分组:

df2.groupby([df.DATE.dt.month,'NAME']).mean()

您将获得一个具有两级多索引的 DataFrame。您稍后可以通过 unstack()ing 将其转换为表格。

关于Python Pandas 平均按位置和日期/月份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48957986/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com