熊猫外部合并列顺序不固定

时间:2018-11-27 15:20:46

标签: python-3.x pandas

我正在尝试使用熊猫合并两个数据框。 我正在做数据帧的外部合并。我的数据框有以下几列:

DF1: (ID, X)
DF2: (ID, Y, Z)

当我合并这些数据帧时,输出数据帧中的列顺序会更改。

对于某些迭代,我得到

DF_OUTPUT: (ID, X, Y, Z)

有时是:

DF_OUTPUT: (X, ID, Y, Z)

如何保留输出数据框中的列顺序?

1 个答案:

答案 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)