2017-09-15 89 views
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只有一個與Product_Number匹配的Transaction_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") 

我該怎麼做才能找到正確的配對。我也嘗試過一次左連接,任何類型的提示都會有所幫助。 - 謝謝

+0

難道你不只是問這個問題嗎?爲什麼第一筆交易號碼在他們面前有破折號? –

+0

*我能做些什麼來找到正確的匹配*?只有你可以告訴我們這個'merge'正在按需要工作。哪個* Product_Number *來自多個* Transactions *拉入?第一?持續? – Parfait

回答

0

您是否在尋找外部合併?

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