合并第二个数据帧中只有一个额外列的数据帧[重复]

Posted

技术标签:

【中文标题】合并第二个数据帧中只有一个额外列的数据帧[重复]【英文标题】:Combine dataframes having only one extra column from the second dataframe [duplicate] 【发布时间】:2021-03-23 11:41:45 【问题描述】:

我有 2 个数据框 df1 和 df2

df1

Col1   Col2   Col3  Col4 

df2

Key_col   Col5   Col6   Col7

所以当我合并两个数据帧时,我只需要第二个数据帧中的 Key_col。

pd.merge(f1, df2, how='outer')

这给出了两个数据框的所有列

预期输出

Col1   Col2   Col3  Col4 Key_col

【问题讨论】:

pd.merge(df1, df2[['Key_col']], how='outer')? 如果我们没有要合并的列,这是否可行? 【参考方案1】:

试试这个:

df1 = pd.DataFrame( data=[ [1,2,4], [2,336,6], [343,44,7]], columns=['Col1', 'Col2', 'Col3'])
df2 = pd.DataFrame( data=[ [1,2,45], [2,33,56], [343,44,67]], columns=['Key_Col', 'Col4', 'Col5'])

concated_df = pd.concat([df1,df2['Key_Col']], axis=1)
print(concated_df)

结果成:

   Col1  Col2  Col3  Key_Col
0     1     2     4        1
1     2   336     6        2
2   343    44     7      343

【讨论】:

以上是关于合并第二个数据帧中只有一个额外列的数据帧[重复]的主要内容,如果未能解决你的问题,请参考以下文章

Pyspark:内部连接两个 pyspark 数据帧并从第一个数据帧中选择所有列,从第二个数据帧中选择几列

如果日期介于第二个数据帧中的两个日期之间,则 r 标记第一个数据帧中的行

如何根据第二个数据帧映射第一个数据帧中的值?

Spark SCALA - 连接两个数据帧,其中一个数据帧中的连接值位于第二个数据帧中的两个字段之间

向前搜索时合并两个数据帧

如果第一个数据帧中存在行,如何更新第二个数据帧的存在值