0

我遇到了一个我感觉很多人都遇到过的数据问题。我目前有一个包含交易信息的数据集。根据 Transaction_Number,我会发现每个参与交易的人在他们身上花费了多长时间。

最终输出如下所示

 Transaction_Number        Created On             Created_By      Time_Diff

  27327920232            2014-12-08 03:29:08      jake            NaN
  27323232336            2017-04-28 18:39:03       James           0
  27323232336            2017-04-28 18:26:23      Tony            760.0

现在我面临的问题是我缺少一列。我通过从数据库中查询并提取了一个名为“Product_Number”的字段来解决这个问题。我正在加入 Transaction_Number 上的两个表。这是问题出现的地方,第二个数据框名称 D 的 Transaction_Number 仅列出一次与 Product_Number 匹配。主数据框有多次出现的事务。因此,当我运行以下代码时,我的结果没有意义。基于 12K+ 的可能性仅输出 4 个匹配项。

         X                       D                        D
   Transaction_Number     Transaction_Number          Product_Number
     27327920232            27327920232                Cw-xs-re-89
     27327920232            72732332323                pw-ts-sf-89
     27327920232            32338033383                Cw-ns-tn-86

    results = pd.merge(X, D, how='inner', on= "Transaction_Number")

我该怎么做才能找到正确的匹配项。我也尝试过左连接,任何类型的提示都会有所帮助。- 谢谢

4

1 回答 1

1

您在寻找外部合并吗?

results = pd.merge(X, D, how='outer', on= "Transaction_Number")
于 2017-09-16T02:48:43.617 回答