在 pandas 数据帧中的 groupby 之后查找最大行
Finding max row after groupby in pandas dataframe
我有一个daframe如下:
Month Col1 Col2 Val
A p a1 31
A q a1 78
A r b2 13
B x a1 54
B y b2 56
B z b2 65
我想获得以下信息:
Month a1 b2
A q r
B x z
基本上对于每对 Month
和 Col2
,我想在 Col1
中找到具有最大值的值。
我不知道该如何处理。
您的问题是:
- 在一组中查找最大为
Val
的行,即 sort
和 drop_duplicates
,以及
- 转换数据,即
pivot
:
(df.sort_values('Val')
.drop_duplicates(['Month','Col2'], keep='last')
.pivot(index='Month', columns='Col2', values='Col1')
)
输出:
Col2 a1 b2
Month
A q r
B x z
我有一个daframe如下:
Month Col1 Col2 Val
A p a1 31
A q a1 78
A r b2 13
B x a1 54
B y b2 56
B z b2 65
我想获得以下信息:
Month a1 b2
A q r
B x z
基本上对于每对 Month
和 Col2
,我想在 Col1
中找到具有最大值的值。
我不知道该如何处理。
您的问题是:
- 在一组中查找最大为
Val
的行,即sort
和drop_duplicates
,以及 - 转换数据,即
pivot
:
(df.sort_values('Val')
.drop_duplicates(['Month','Col2'], keep='last')
.pivot(index='Month', columns='Col2', values='Col1')
)
输出:
Col2 a1 b2
Month
A q r
B x z