我正在尝试使用熊猫合并两个数据框。 我正在做数据帧的外部合并。我的数据框有以下几列:
DF1: (ID, X)
DF2: (ID, Y, Z)
当我合并这些数据帧时,输出数据帧中的列顺序会更改。
对于某些迭代,我得到
DF_OUTPUT: (ID, X, Y, Z)
有时是:
DF_OUTPUT: (X, ID, Y, Z)
如何保留输出数据框中的列顺序?
答案 0 :(得分:2)
您可以在合并后.reindex
。使用pd.unique
将保留出现的顺序,与np.unique
进行排序不同。
import pandas as pd
cols = pd.unique(df1.columns.append(df2.columns))
df1.merge(df2, how='outer').reindex(cols, axis=1)