我有一个数据帧,看起来像这样:
case inc_date is1 is5 is10 im1 im5 im10
686 6/8/1972 0.141 0.300 0.149 0.134 0.135 0.142
950 6/1/1945 0.160 0.345 0.172 0.088 0.096 0.138
1005 10/16/1945 0.164 0.261 0.151 0.131 0.261 0.133
1005 11/12/1947 0.146 0.310 0.182 0.112 0.129 0.121
1180 10/9/1945 0.159 0.278 0.134 0.141 0.138 0.150
我想找出每行的最大值,并返回值最大的列名。例如,对于上面的数据帧,它将返回:
^{pr2}$
您可以尝试以下方法:
可以将idxmax与
axis=1
一起使用,以查找每行上具有最大值的列:要创建新列“Max”,请使用
df['Max'] = df.idxmax(axis=1)
。在要查找每列中出现最大值的行索引,请使用
df.idxmax()
(或等效的df.idxmax(axis=0)
)。在对于第二高,您可以使用
df.apply(lambda x: df.index[x.argsort()[::-1][1]], axis=1)
相关问题 更多 >
编程相关推荐