pandas 按月分组,一列求和,另一列求平均值

kx5bkwkv  于 2023-02-11  发布在  其他
关注(0)|答案(2)|浏览(221)

我有一个 Dataframe ,如下所示:
| 日期|玩过的游戏|评级|
| - ------|- ------|- ------|
| 2019年5月23日|八个|二十二|
| 2023年1月29日|十个|三十二|
实际的表要长得多。我想按月份对表进行分组(日期列是DateTime格式的列),这样做时,将游戏数列相加,但对评分列求平均值。实际上,每行都有一个月、该月的游戏总数和该月的平均评分。如何在日期列中按月份分组的同时进行这些单独的聚合呢?

wbrvyc0a

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)
nnsrf1az

nnsrf1az2#

使用aggregate

df.groupby(df.Date.dt.month).aggregate(
    {'Games Played': 'sum', 'Rating': 'mean'})

相关问题