繁体   English   中英

Pandas Groupby with idxmax and transform得到每个组最大索引的值

[英]Pandas Groupby with idxmax and transform to get the value of the largest index of each group

我有以下 dataframe

       High    FlgVela  
0      177.73      1
1      178.48      2      
2      182.10      2      
3      182.48      3      
4      173.66      4
5      174.40      5
6      172.34      6
7      172.87      6
8      176.36      6

根据 FlgVela 变量获取最大索引值的正确方法是什么,就像下面的 dataframe 一样。

       High    FlgVela  High_ValueIndexMax
0      177.73      1        177.73
1      178.48      2        182.10
2      182.10      2        182.10
3      182.48      3        182.48
4      173.66      4        173.66
5      174.40      5        174.40
6      172.34      6        176.36
7      172.87      6        176.36
8      176.36      6        176.36

我尝试了以下逻辑,但它返回索引,预期结果是索引行的值。

df['High_ValueIndexMax'] = df.groupby(['FlgVela'])['High'].transform('idxmax')

尝试:

df['High_ValueIndexMax'] = df.groupby(['FlgVela'])['High'].transform('max')

OUTPUT:

     High  FlgVela  High_ValueIndexMax
0  177.73        1              177.73
1  178.48        2              182.10
2  182.10        2              182.10
3  182.48        3              182.48
4  173.66        4              173.66
5  174.40        5              174.40
6  172.34        6              176.36
7  172.87        6              176.36
8  176.36        6              176.36

如果您想要每个组中与idxmax()相关的整行:

>>> df.loc[ df.groupby('FlgVela').idxmax()['High'] ]

     High  FlgVela
0  177.73        1
2  182.10        2
3  182.48        3
4  173.66        4
5  174.40        5
8  176.36        6

另一种方式:

idx=df.groupby(['FlgVela'])['High'].transform('idxmax').values

最后:

df['High_ValueIndexMax']=df.loc[idx,'High'].values

Output 的df

        High    FlgVela     High_ValueIndexMax
0       177.73      1       177.73
1       178.48      2       182.10
2       182.10      2       182.10
3       182.48      3       182.48
4       173.66      4       173.66
5       174.40      5       174.40
6       172.34      6       176.36
7       172.87      6       176.36
8       176.36      6       176.36

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM