【发布时间】:2023-04-09 05:37:01
【问题描述】:
我需要的是 pandas.merge,但我还需要不匹配的行作为单独的 df。我将举例说明:
我有两个与此类似的数据框:
df_1-
item Amount
Ball 15
Ball 12
Ball 10
Pen 3
Pen 2
Kite 15
df_2-
item Code Amount
Ball Y 10
Pen V 3
Pen E 7
我想要获得的是比较两个数据帧并将匹配的amount + item(因为我在两个数据帧中都没有代码)与code 列结合起来。我可以通过合并熊猫来实现它。但我还需要不在数据框 1 中但在数据框 2 中的条目,反之亦然。例如,数量为 7 的 Pen 不在 Dataframe 1 中,来自 df_1 的 Kite 不在 df_2 中。
所以我需要 3 个这样的数据框:
DataFrame 1: Matched entries
item Amount Code
Ball 10 Y
Pen 3 V
DataFrame 2: items in df_1 but not in df_2
item Amount
Ball 15
Ball 12
Pen 2
Kite 15
Dataframe 3: item in df_2 not in df_1
item Code Amount
Pen E 7
我可以通过逐行获得这个,但是有没有一种简单的方法可以像合并一样获得即时结果。
【问题讨论】:
-
pd.merge(df1, df2, how='outer', ...)是否返回可接受的结果? -
@Ankur 是的。我刚刚发现有一个带有“指示器”的“外部”。明白了
标签: python python-3.x pandas dataframe