gpt4 book ai didi

python - 按月份和日期分组 - python

转载 作者:太空宇宙 更新时间:2023-11-03 14:13:14 29 4
gpt4 key购买 nike

我有一组数据点,如下所示。我每年的每一天都有类似的数据点

data1 = {'Date': {1: '01-01-2001',
2: '01-01-2002',
3: '01-01-2003',
4: '01-01-2004',
5: '01-01-2005',
6: '01-01-2006',
7: '01-01-2007',
8: '01-01-2008',
9: '01-01-2009',
10: '01-01-2010'
},
'milesrun': {1: '15',
2: '21',
3: '19',
4: '22',
5: '16',
6: '13',
7: '22',
8: '24',
9: '17',
10: '18'}}

如何仅按月份和日期进行分组并获取最小值和最大值?我需要两个单独的数据帧中的结果,一个表示最小值,一个表示最大值。生成的数据框应具有如下输出

mth-date  value
01-01 13
01-02 14
01-03 13
............
............
12-29 18
12-30 16
12-31 17

我能够将月份和日期提取为单独的列,但无法正确分组。我试图避免使用 numpy 并看看是否有替代选项

最佳答案

使用dt.strftime提取s和,然后使用groupby和聚合minmax :

#if neccessary convert to datetimes if MM-DD-YYYY
#df['Date'] = pd.to_datetime(df['Date'])

dfboth = df['milesrun'].groupby(df['Date'].dt.strftime('%m-%d')).agg(['min','max'])
print (dfboth)
min max
Date
01-01 13 24

或者:

dfmin = df['milesrun'].groupby(df['Date'].dt.strftime('%m-%d')).min()
dfmax = df['milesrun'].groupby(df['Date'].dt.strftime('%m-%d')).max()

关于python - 按月份和日期分组 - python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48356488/

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