Python 根据名称列表重新排列DataFrame列

Python 根据名称列表重新排列DataFrame列,python,pandas,list,dataframe,Python,Pandas,List,Dataframe,我的问题总结:我有许多数据帧,都具有相同的列,但每次都以不同的顺序排列(即df1有其顺序,df2有另一个顺序,df3又有另一个顺序等等…)。我想根据作为基准的列列表来排列每个数据帧中的列。因此,基于此列表,所有数据帧都应该具有相同的列顺序 更详细的描述:我的代码中有几个数据帧,它们是通过清理一些数据集生成的。这些数据帧中的每一个都有相同的列,但顺序不同。例如: DataFrame1“排名”“标题”“摘要”“日期”“图像”“id”“说明” DataFrame2“日期”“排名”“标题”“描述”“图像

我的问题总结:我有许多数据帧,都具有相同的列,但每次都以不同的顺序排列(即df1有其顺序,df2有另一个顺序,df3又有另一个顺序等等…)。我想根据作为基准的列列表来排列每个数据帧中的列。因此,基于此列表,所有数据帧都应该具有相同的列顺序

更详细的描述:我的代码中有几个数据帧,它们是通过清理一些数据集生成的。这些数据帧中的每一个都有相同的列,但顺序不同。例如:

DataFrame1
“排名”“标题”“摘要”“日期”“图像”“id”“说明”

DataFrame2
“日期”“排名”“标题”“描述”“图像”“摘要”“id”

DataFrame3
“id”“说明”“摘要”“日期”“排名”“图像”“标题”

我有一个列名称列表,我想用它作为参考,对所有数据帧中的列进行排序,例如
'title''date''rank''image''description''summary''id'


是否有一种方法,例如循环,可以这样排列列?

将所需的顺序保存到列表中,例如
list\u cols
,如下所示:

list_cols = ['title', 'date', 'rank', 'image', 'description', 'summary', 'id']
df1 = df1[list_cols]
df2 = df2[list_cols]
df3 = df3[list_cols]
然后按如下方式更改数据帧的列:

list_cols = ['title', 'date', 'rank', 'image', 'description', 'summary', 'id']
df1 = df1[list_cols]
df2 = df2[list_cols]
df3 = df3[list_cols]
首先选择所需的列顺序。 现在,通过使用reindex方法将该顺序分配回每个数据帧。
非常感谢,这很有效!伟大的然后,您可以接受答案(投票部分下方的勾号)以确认其为解决方案谢谢您的回复!这看起来也不错,但@Ishwar的回答似乎更直截了当。