簡體   English   中英

如何在兩個 DataFrame 上執行完整的外部聯接並仍然保留元素的相對順序?

[英]How can I execute a full outer join on two DataFrames and still preserve the relative order of the elements?

讓我們考慮兩個dataframe d1d2 ,我想將它們合並為一個dataframe

d1

Id      Country       P_Type      
102     Portugal      Industries  
163     Portugal      Office 
111     Portugal      Clubs       
164     Portugal      cars 
168     Finland       Houses

d2

Id      Country       P_Type      Sales
102     Portugal      Industries  1651
163     Portugal      Office      1125
111     Portugal      Clubs       1752
164     Portugal      cars        1259
129     Sweden        Pubs        1345 
105     Germany       Industries  1451
103     Germany       Office      1635
103     Germany       Clubs       1520
103     Germany       cars        1265

我厭倦了pd.merge

result=pd.merge(d2,d1,how='outer',on=["Id"])

我得到了結果:

Id      Country       P_Type      Sales
102     Portugal      Industries  1651
163     Portugal      Office      1125
111     Portugal      Clubs       1752
164     Portugal      cars        1259
105     Germany       Industries  1451
103     Germany       Office      1635
129     Sweden        Pubs        1345
103     Germany       Clubs       1520
103     Germany       cars        1265
168     Finland       Houses      Nan

我的預期是:

Id      Country       P_Type      Sales
102     Portugal      Industries  1651
163     Portugal      Office      1125
111     Portugal      Clubs       1752
164     Portugal      cars        1259
168     Finland       Houses      Nan
105     Germany       Industries  1451
129     Sweden        Pubs        1345
103     Germany       Office      1635
103     Germany       Clubs       1520
103     Germany       cars        1265

即使我嘗試以相反的方式越過它,即d1 x d2 ,id 編號 129 的相對位置也會改變。

只需交換d2d1

result = d1.merge(d2, how='outer')
print(result)

# Output
    Id   Country      P_Type   Sales
0  102  Portugal  Industries  1651.0
1  163  Portugal      Office  1125.0
2  111  Portugal       Clubs  1752.0
3  164  Portugal        cars  1259.0
4  168   Finland      Houses     NaN
5  105   Germany  Industries  1451.0
6  103   Germany      Office  1635.0
7  103   Germany       Clubs  1520.0
8  103   Germany        cars  1265.0

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM