【问题标题】:Cut & paste values from two data frames for matched values从两个数据框中剪切和粘贴值以获取匹配值
【发布时间】: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


【解决方案1】:

https://www.analyticsvidhya.com/blog/2020/02/joins-in-pandas-master-the-different-types-of-joins-in-python/ 参考此链接。这可能是您正在寻找的。是的,它有直接的功能。

【讨论】:

  • 谢谢我要找的是how='outer', indicator=True
猜你喜欢
  • 1970-01-01
  • 2020-11-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-02
  • 2018-03-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多