如何获得每笔交易的汇总价值?

时间:2020-07-02 19:37:26

标签: pandas pandas-groupby aggregation

我将举例说明。

假设我的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'})]

,但是只有在该行中的最大值为该值时,才给出正确的值。
很想听听您的想法。

1 个答案:

答案 0 :(得分:1)

进行转换:

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