我试图从具有多个索引的 Pandas 数据框中仅检索最大值(包括多索引值)。我拥有的数据帧是通过groupby和列选择('tOfmAJyI')生成的,如下所示:

df.groupby('id')['tOfmAJyI'].value_counts()

Out[4]:
id     tOfmAJyI
3      mlNXN       4
       SSvEP       2
       hCIpw       2
5      SSvEP       2
       hCIpw       1
       mlNXN       1
11     mlNXN       2
       SSvEP       1
...

我想要实现的是获取最大值,包括其相应的索引值。所以像这样:
id     tOfmAJyI
3      mlNXN       4
5      SSvEP       2
11     mlNXN       2
...

有什么想法可以实现这一目标吗?我能够获取id和最大值,但是我仍在尝试获取相应的'tOfmAJyI'值。

最佳答案

groupby + head

df.groupby(level=0).head(1)
Out[1882]:
id  tOfmAJyI
3   mlNXN       4
5   SSvEP       2
11  mlNXN       2
Name: V, dtype: int64

或者
df.loc[df.groupby(level=0).idxmax()]
Out[1888]:
id  tOfmAJyI
3   mlNXN       4
5   SSvEP       2
11  mlNXN       2
Name: V, dtype: int64

关于python - 从 Pandas 多索引数据框中获取最大值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48956379/

10-10 11:21