按索引合并两个数据帧并返回唯一列pandas

时间:2018-05-20 17:58:48

标签: python python-3.x pandas dataframe merge

我想在索引上合并两个数据框,并希望仅返回合并后存在的不同列。

目前,我正在使用 - pd.merge(X_train,all_data,left_index = True,right_index = True),合并。但是返回所有列,方法是将_x和_y附加到列名的末尾以进行标识。

我只需要不同的列。

谢谢!

1 个答案:

答案 0 :(得分:3)

您可以尝试在合并之前提取不同的列,然后将这些列显式传递给merge命令:

X_train_cols = X_train.columns
all_data_cols = all_data.columns
all_data_cols_new = list(set(all_data_cols).difference(X_train_cols))

然后:

pd.merge(X_train, all_data[all_data_cols_new], left_index=True, right_index=True)