关于python:根据列名列表对Pandas数据帧进行排序

Sort Pandas dataframe according to list of column names

本问题已经有最佳答案,请猛点这里访问。

我有一个像这样的熊猫数据框 -

1
2
3
4
5
6
7
8
9
10
d = {'class': [0, 1,1,0,1,0], 'A': [0,4,8,1,0,0],'B':[4,1,0,0,3,1],'Z':[0,9,3,1,4,7]}
df = pd.DataFrame(data=d)

    A   B   Z   class
0   0   4   0   0
1   4   1   9   1
2   8   0   3   1
3   1   0   1   0
4   0   3   4   1
5   0   1   7   0

我有一个像这样的列表 - ['Z','B','class','A']

现在我想根据列名列表对我的pandas数据帧进行排序

因此,新数据框将具有列名称 -

1
Z  B  class A


使用reindex

1
2
L = ['Z','B','class','A']
df = df.reindex(columns=L)

或按子集选择:

1
df = df[L]