【发布时间】:2019-10-11 15:16:00
【问题描述】:
所以我一直在尝试寻找一种解决方案来合并 2 个数据框。主键有时匹配,有时它们在 DF1 但不在 DF2 和 DF2 但不在 DF1 上。我希望显示所有行和 ID,并为未出现的值提供“-”。对于确实出现在两者中的值,我希望它们连接在同一行中,如 DF3 所示:
>>>DF1 >>>DF2
ID Apples Oranges Transaction ID Milk Meat Transaction
1 2 1 Credit 1 2 3 Cash
3 3 4 Debit 2 7 2 Cash
5 2 3 Cash 6 2 3 Cash
>>>DF3
ID Apples Oranges Transaction1 Milk Meat Transaction2
1 2 1 Credit 2 3 Cash
2 - - - 7 2 Cash
3 3 4 Debit - - -
5 2 3 Cash - - -
6 - - - 2 3 Cash
【问题讨论】:
-
我认为 df1.merge(df2, how='outer') 可以满足您的要求。您将拥有 NaN,但您可以使用 fillna 将它们设置为 '-'。
标签: python pandas dataframe merge concatenation