从pandas多索引数据帧获取最大值

2024-10-01 11:27:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图从一个有多个索引的pandas数据帧中只检索max值(包括多个索引值)。我的数据帧是通过groupby和column selection('tofmayi')生成的,如下所示:

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
...

我想要实现的是得到最大值,包括它们对应的索引值。比如说:

^{pr2}$

有什么办法让我做到这一点吗?我可以得到id和max值,但我仍在尝试获取相应的值“tofmayi”。在


Tags: 数据idpandasdfvaluecolumnmaxgroupby
2条回答

我的代码也有同样的问题,不是使用max,而是按'ascending=False'对值排序,然后使用groupby(level=0).head(1)。我已经提供了对我有用的代码,然后对您的代码提出了建议。在

table = pd.pivot_table(df, index= ['Site', 'DayofWeek'], values= ['CTR'])

table = table.sort_values(by = 'CTR', ascending = False)

table.groupby(level=0).head(1)

我首先使用loc and.apply(max)或idxmax(),但是出现了一个错误:“没有实现用DataFrame键索引多索引”。为了避免这种情况,请使用建议的方法

你的密码-

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

^{pr2}$

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

或者

^{pr2}$

相关问题 更多 >