我有一个 pandas 数据框,如下所示:
A | B | C | D | E |
1 | 2 | 3.5 | 2.3 | 4.0 |
我希望始终提取 C 到 E 中大于 2.5 的任何列,并按其值的降序对它们进行排序。
对于上面的例子:
E,C is the output
最佳答案
转置
+ 排序值
v = df.T.squeeze().loc['C':'E'].sort_values(ascending=False)
v.index[v.gt(2.5)].tolist()
['E', 'C']
<小时/>
堆栈
+ sort_values
v = (
df.stack()
.reset_index(level=0, drop=True)
.loc['C':'E']
.sort_values(ascending=False)
)
v.index[v.gt(2.5)].tolist()
['E', 'C']
关于python - 提取列名并在 Pandas 中对它们进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50556645/