我有一个 Dataframe ,如下所示:| 日期|玩过的游戏|评级|| - ------|- ------|- ------|| 2019年5月23日|八个|二十二|| 2023年1月29日|十个|三十二|实际的表要长得多。我想按月份对表进行分组(日期列是DateTime格式的列),这样做时,将游戏数列相加,但对评分列求平均值。实际上,每行都有一个月、该月的游戏总数和该月的平均评分。如何在日期列中按月份分组的同时进行这些单独的聚合呢?
wbrvyc0a1#
试试看:
x = df.groupby(df['Date'].dt.month).agg({'Games Played': 'sum', 'Rating': 'mean'}) print(x)
图纸:
Games Played Rating Date 1 13 18.5 5 11 21.0
使用的数据框:
Date Games Played Rating 0 2019-05-23 8 22 1 2019-05-24 1 21 2 2019-05-25 2 20 3 2023-01-28 3 5 4 2023-01-29 10 32
如果要按 * 年 * 和 * 月 * 分组:
x = df.groupby([df['Date'].dt.year, df['Date'].dt.month]).agg({'Games Played': 'sum', 'Rating': 'mean'}) print(x)
nnsrf1az2#
使用aggregate
df.groupby(df.Date.dt.month).aggregate( {'Games Played': 'sum', 'Rating': 'mean'})
2条答案
按热度按时间wbrvyc0a1#
试试看:
图纸:
使用的数据框:
如果要按 * 年 * 和 * 月 * 分组:
nnsrf1az2#
使用aggregate