我目前正在一个非常大的数据集上进行以下操作,想知道是否有一种方法可以从阵列的一次“扫描”中生成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
谢谢。
答案 0 :(得分:0)
只需在agg
上致电df
df.agg(['max', 'idxmax'])
Out[981]:
A B C
max 7 9 4
idxmax T4 T1 T3