如何在Pandas dataframe列中返回最大值和关联索引

时间:2018-04-10 19:42:00

标签: python pandas

我需要提供一个元组中具有最高值的元组(yield)以及(index, value)

形式的相关索引值

我想出了:

t= (df['yield'].idxmax(),df['yield'].max())

但我想知道是否有更好的方法来获取这些值(在元组中)?

1 个答案:

答案 0 :(得分:1)

这是另一种方式。它不是单行,但它避免了有效计算最大值两次的需要。

import pandas as pd

df = pd.DataFrame({'yield': [0, 1, 3, 5, 1, 9, 5]})

s = df.loc[df['yield'] == df['yield'].max(), 'yield']

res = next(zip(s.index, s))

print(res)

# (5, 9)

可替换地:

s = df.loc[df['yield'].argmax()]

res = (s.name, s.iloc[0])