在pandas数据框中根据列名排序列

21 浏览
0 Comments

在pandas数据框中根据列名排序列

这个问题已经有了答案

如何改变DataFrame列的顺序?

我有一个包含200多列的dataframe。问题是它们生成的顺序是

['Q1.3','Q6.1','Q1.2','Q1.1',......]

我需要按照以下顺序排序:

['Q1.1','Q1.2','Q1.3',.....'Q6.1',......]

有没有办法在Python中实现这个?

admin 更改状态以发布 2023年5月21日
0
0 Comments

您也可以更简单地完成:

df.sort_index(axis=1)


确保将结果赋值回去:

df = df.sort_index(axis=1)

或者,原地操作:

df.sort_index(axis=1, inplace=True)

0
0 Comments

df = df.reindex(sorted(df.columns), axis=1)

这假设对列名进行排序将得到您想要的顺序。如果您的列名无法按字典顺序排序(例如,如果您希望列Q10.3出现在Q9.1之后),则需要以不同的方式排序,但这与pandas无关。

0