正如乔恩·克莱门茨所说:In [3]: s = pd.Series(np.random.randn(5), index=['a', 'b', 'c', 'd', 'e'])
In [4]: x, y = s.agg(['max', 'idxmax'])
In [5]: x
Out[5]: 1.6339096862287581
In [6]: y
Out[6]: 'b'
In [7]: s
Out[7]: a 1.245039
b 1.633910
c 0.619384
d 0.369604
e 1.009942
dtype: float64
对于请求元组:
^{pr2}$
甚至更小:def max_and_idxmax(series):
"""Return a tuple of (max, idxmax) from a pandas.Series"""
return series.max(), series.idxmax()
如果需要速度,请使用numpy方法aboveimport pandas as pd
import numpy as np
def max_and_index(series):
x, y = series.agg(['max', 'idxmax'])
return x, y
def max_and_idxmax(series):
return series.max