【问题标题】:Sort Pandas dataframe according to list of column names [duplicate]根据列名列表对 Pandas 数据框进行排序 [重复]
【发布时间】:2019-03-07 14:40:09
【问题描述】:

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

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 数据框进行排序

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

Z  B  class A

【问题讨论】:

  • 你可以做df[['Z','B','class','A']]这个问题之前有人问过

标签: python pandas


【解决方案1】:

使用reindex:

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

或按子集选择:

df = df[L]

【讨论】: