Python 如何基于另一个列相同但顺序不同的数据帧对列重新排序

Python 如何基于另一个列相同但顺序不同的数据帧对列重新排序,python,pandas,dataframe,Python,Pandas,Dataframe,我想知道是否有一种方便的方法可以根据另一个数据帧的列排序,该数据帧的列具有相同的列,但顺序不同。或者,我必须做一个循环才能实现这一点吗?试试这个: df2 = df2[df1.columns] 演示: 替代解决方案: df2 = df2.reindex_axis(df1.columns, axis=1) 注意:自从版本0.21.0以来,熊猫reindex\u轴已被弃用:改用reindex df2 = df2.reindex(df1.columns, axis=1) 很好,可以用替代品连锁吗

我想知道是否有一种方便的方法可以根据另一个数据帧的列排序,该数据帧的列具有相同的列,但顺序不同。或者,我必须做一个循环才能实现这一点吗?

试试这个:

df2 = df2[df1.columns]
演示:

替代解决方案:

df2 = df2.reindex_axis(df1.columns, axis=1)
注意:自从版本0.21.0以来,熊猫
reindex\u轴
已被弃用:改用reindex

df2 = df2.reindex(df1.columns, axis=1)

很好,可以用替代品连锁吗solution@MaxU我有一个类似的问题,必须根据列表重新排列数据帧,但名称不同。这是可以做到的。
df2 = df2.reindex(df1.columns, axis=1)