【发布时间】:2019-07-20 13:48:14
【问题描述】:
我正在尝试为每一行获取最大/最小值最多为 N 值的列的名称。
鉴于这样的事情:
a b c d e
1.2 2 0.1 0.8 0.01
2.1 1.1 3.2 4.6 3.4
0.2 1.9 8.8 0.3 1.3
3.3 7.8 0.12 3.2 1.4
我可以用idxmax(axis=1) 得到最大值,用idxmin(axis=1) 得到最小值,但这仅适用于最高最大值和最低最小值,不适用于 N 值。
我想得到,如果用 N=2 调用:
a b c d e Max1 Max2 Min1 Min2
1.2 2.0 0.1 0.8 0.1 b a c e
2.1 1.1 3.2 4.6 3.4 d d b a
0.2 1.9 8.8 0.3 1.3 c b a d
3.3 7.8 0.1 3.2 1.4 b a c e
我知道我总是可以获取行数据,计算第 N 个值并按索引映射到列名列表,只是想知道是否有更好、更优雅的方法。
【问题讨论】:
-
最大和第二大列名的顺序(最小的列名反之亦然)重要吗?
-
就我而言,没关系。感谢您提供边缘案例选项。