熊猫从 groupby 和 max 返回辅助列

TPM

我有一个包含 3 列 A、B 和 V 的 Pandas DataFrame。

我想要一个以 A 作为索引和一列的 DataFrame,其中包含最大 V 的 B

我可以使用 groupby 轻松创建带有 A 和最大 V 的 df,然后执行一些操作以提取相应的 B,但这似乎是错误的想法。

我一直在玩 groupby 和 agg 的组合,但没有任何乐趣。

样本数据:

A,B,V
MHQ,Q,0.5192
MMO,Q,0.4461
MTR,Q,0.5385
MVM,Q,0.351
NCR,Q,0.0704
MHQ,E,0.5435
MMO,E,0.4533
MTR,E,-0.6716
MVM,E,0.3684
NCR,E,-0.0278
MHQ,U,0.2712
MMO,U,0.1923
MTR,U,0.3833
MVM,U,0.1355
NCR,U,0.1058
迈克尔·O。
A = [1,1,1,2,2,2,3,3,3,4,4,4]
B = [1,2,3,4,5,6,7,8,9,10,11,12]
V = [21,22,23,24,25,26,27,28,29,30,31,32]
df = pd.DataFrame({'A': A, 'B': B, 'V': V})
res = df.groupby('A').apply(
    lambda x: x[x['V']==x['V'].max()]).set_index('A')['B'].to_frame()

res

    B
A    
1   3
2   6
3   9
4  12

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章