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

Python 如何在dataframe列中返回最大值和关联索引,python,pandas,Python,Pandas,我需要以(index,value) 我想到了: t= (df['yield'].idxmax(),df['yield'].max()) 但是我想知道有没有更好的方法来获取这些值(在元组中)?这里是另一种方法。它不是一条直线,但它避免了两次有效计算最大值的需要 import pandas as pd df = pd.DataFrame({'yield': [0, 1, 3, 5, 1, 9, 5]}) s = df.loc[df['yield'] == df['yield'].max(),

我需要以
(index,value)

我想到了:

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

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

这里是另一种方法。它不是一条直线,但它避免了两次有效计算最大值的需要

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])

除了在
s=df['yield']
之外定义您的系列(这将添加一行代码,并且在内存方面效率较低),我找不到更优雅、更可读的解决方案