gpt4 book ai didi

python - 我只需要按 'Date' 的月份和日期部分进行分组,并获得每组的最大值和最小值

转载 作者:太空宇宙 更新时间:2023-11-04 02:02:43 25 4
gpt4 key购买 nike

我有一个大数据框。我有 2005 年到 2014 年的数据。这是我的数据框的 head():

             ID       Date Element  Data_Value
2 USC00087020 2005-12-06 TMAX 272
5 USC00084095 2006-07-25 TMAX 328
6 USC00084095 2011-07-26 TMAX 333
7 USC00088841 2008-10-26 TMAX 294
12 USC00085667 2015-10-07 TMAX 300
14 USC00087760 2013-04-02 TMAX 322
15 USR0000FCHE 2010-05-26 TMAX 311
16 USC00088841 2007-12-27 TMAX 256

无论年份如何,我都需要按月和日分组。我使用了以下代码:

df.groupby(pd.Grouper(key='Date',freq='M')).agg({'Data_Value':np.max})

得到的结果是这样的:

            Data_Value
Date
2005-01-31 294
2005-02-28 300
2005-03-31 344
2005-04-30 322
2005-05-31 367
2005-06-30 383
2005-07-31 372
2005-08-31 361

但我需要以下格式。所以我可以取所有年份中每个月的最大值和最小值:

Date    Data_Value
Jan 217
Feb 240
Mar 228
Apr 190
May 250

我怎样才能实现它?请帮忙。提前致谢

最佳答案

您可以先使用 to_datetime 将日期列转换回日期格式,然后使用该列的 groupby 仅选择月份

df.Date=pd.to_datetime(df.Date)

df.groupby(df.Date.dt.strftime('%B')).Data_Value.max()
Out[290]:
Date
April 322
December 272
July 333
May 311
October 300
Name: Data_Value, dtype: int64

关于python - 我只需要按 'Date' 的月份和日期部分进行分组,并获得每组的最大值和最小值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55409178/

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