我有一个看起来像的数据框
day type col d_1 d_2 d_3 d_4 d_5...
1 A 1 1 0 1 0
1 A 2 1 0 1 0
2 B 1 1 1 0 0
也就是说,我有一个普通的列(col)和许多以d_为前缀的列
我需要按日执行groupby并键入,我想计算每个日期类型组合的每个d_列中的值的总和.我还需要在我的数据中的其他列上执行其他聚合函数(例如示例中的col)
我可以用:
agg_df=df.groupby(['day','type']).agg({'d_1': 'sum', 'col': 'mean'})
但这只计算一个d_列的总和.如何在数据中指定所有可能的d_列?
换句话说,我想写一些类似的东西
agg_df=df.groupby(['day','type']).agg({'d_*': 'sum', 'col': 'mean'})
所以预期的输出是:
day type col d_1 d_2 d_3 d_4 d_5...
1 A 1.5 2 0 2 0 ...
2 B 1 1 1 0 0
如您所见,col通过mean进行聚合,而d_列进行求和.
谢谢你的帮助!