Pandas 如何为每笔交易打印聚合值?

Pandas 如何为每笔交易打印聚合值?,pandas,pandas-groupby,aggregation,Pandas,Pandas Groupby,Aggregation,我会举例说明 假设我的数据框中有以下3列: MONTH-DAY-VALUE Jan - 2- 2 Jan - 15 - 6 Feb - 5 - 2 Feb - 19 - 1 Feb - 23 - 5 假设我想要最大值,那么我想要得到的df是: MONTH-DAY-VALUE-NEWCOLUMN Jan - 2 - 2 - 6 Jan - 15 - 6 - 6 Feb - 5 - 2 - 5 Feb - 19 - 1 - 5 Feb - 23 - 5 - 5 而不是: Jan - 6 Feb

我会举例说明

假设我的数据框中有以下3列:

MONTH-DAY-VALUE
Jan - 2- 2
Jan - 15 - 6
Feb - 5 - 2
Feb - 19 - 1
Feb - 23 - 5
假设我想要最大值,那么我想要得到的df是:

MONTH-DAY-VALUE-NEWCOLUMN
Jan - 2 - 2 - 6
Jan - 15 - 6 - 6
Feb - 5 - 2 - 5
Feb - 19 - 1 - 5
Feb - 23 - 5 - 5
而不是:

Jan - 6
Feb - 5
我试过:

cal['NEWCOLUMN']=cal['Value'].loc[cal['Value']==cal.groupby('Month').agg({'VALUE':'max'})]
但只有当该行中的值为最大值时,才会给出正确的值。
我很想听听你的想法。

做一个转变:

df['newcol'] = df.groupby('MONTH')['VALUE'].transform('max')
输出:

  MONTH  DAY  VALUE  newcol
0   Jan    2      2       6
1   Jan   15      6       6
2   Feb    5      2       5
3   Feb   19      1       5
4   Feb   23      5       5

实际上,我用transform试过,但我想不出来。你真棒,谢谢!