gpt4 book ai didi

sorting - Pandas 按行对列排序

转载 作者:行者123 更新时间:2023-12-02 09:26:38 27 4
gpt4 key购买 nike

给定以下数据框:

df = pd.DataFrame({'A' : ['1','2','3','7'],
'B' : [7,6,5,4],
'C' : [5,6,7,1],
'D' : [1,9,9,8]})
df=df.set_index('A')
df

B C D
A
1 7 5 1
2 6 6 9
3 5 7 9
7 4 1 8

我想像这样在底行上对列的顺序进行降序排序:
    D   B   C
A
1 1 7 5
2 9 6 6
3 9 5 7
7 8 4 1

提前致谢!

最佳答案

最简单的方法是取转置,然后sort_values ,然后转回。

df.T.sort_values('7', ascending=False).T

或者
df.T.sort_values(df.index[-1], ascending=False).T

给出:
   D  B  C
A
1 1 7 5
2 9 6 6
3 9 5 7
7 8 4 1

测试

我的解决方案
%%timeit
df.T.sort_values(df.index[-1], ascending=False).T

1000 loops, best of 3: 444 µs per loop

替代方案
%%timeit
df[[c for c in sorted(list(df.columns), key=df.iloc[-1].get, reverse=True)]]

1000 loops, best of 3: 525 µs per loop

关于sorting - Pandas 按行对列排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37354573/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com