如何按列获取Pandas Dataframe最大值以及每列最大值的ID

时间:2019-08-08 17:04:42

标签: python pandas

我目前正在一个非常大的数据集上进行以下操作,想知道是否有一种方法可以从阵列的一次“扫描”中生成df.idxmax和df.max值,从而与我当前的单个调用相比节省了时间

一个小例子:

In [28]: df = pd.DataFrame([[5, 9, 3], [4, 8, 1], [5, 7, 4], [7, 1, 1]],
    ...:                   columns='A B C'.split(), index='T1 T2 T3 T4'.split())

In [29]: df
Out[29]: 
    A  B  C
T1  5  9  3
T2  4  8  1
T3  5  7  4
T4  7  1  1

In [30]: df.idxmax()
Out[30]: 
A    T4
B    T1
C    T3
dtype: object

In [31]: df.max()
Out[31]: 
A    7
B    9
C    4
dtype: int64

谢谢。

1 个答案:

答案 0 :(得分:0)

只需在agg上致电df

df.agg(['max', 'idxmax'])

Out[981]:
         A   B   C
max      7   9   4
idxmax  T4  T1  T3