gpt4 book ai didi

python - 如何根据多行中的值对数据框的列进行排序?

转载 作者:太空宇宙 更新时间:2023-11-04 03:21:11 25 4
gpt4 key购买 nike

例如,

df = pd.DataFrame({'x':[1,1,1,2,3,3], 'y':['a','a','c','b','b','b']})
ct = pd.crosstab(df.x, df.y)
ct
y a b c
x
1 2 0 1
2 0 1 0
3 0 2 0

如何根据 row1、row2 和 row3 中的值(按优先级顺序)对 ct 的列进行排序?

我已经尝试了以下方法,但都不起作用

ct.sort_values([1, 2, 3], axis=1)
ct.sort_values(['1','2','3'], axis=1)

最佳答案

这目前无法通过直接调用 sort_values 来完成。有 an open bug report关于它。

您仍然可以通过转置、按列排序,然后再次转置来做得不太好:

>>> ct.T.sort_values([1, 2, 3]).T
y b c a
x
1 0 1 2
2 1 0 0
3 2 0 0

关于python - 如何根据多行中的值对数据框的列进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34689164/

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