我如何获得为每笔交易打印的汇总值?

How do I get an aggregated value printed for each transaction?

我会举例说明。

假设我的 DataFrame 中有以下 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