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']
之外定义您的系列(这将添加一行代码,并且在内存方面效率较低),我找不到更优雅、更可读的解决方案