簡體   English   中英

熊貓合並具有相同結構的兩個數據框

[英]Pandas merge two dataframes with the same structure

假設我有兩個數據框:

    x1  x2  x3  
y1  a1  a1  a1      
y2  b1  b1  b1     
y3  c1  c1  c1  

    x1  x2  x3  
y1  a2  a2  a2      
y2  b2  b2  b2     
y3  c2  c2  c2         

哪一個最簡單的方法是從原始數據幀中的同一位置獲取每個元素具有兩個值的列表的以下數據幀?

    x1        x2       x3  
y1  [a1,a2]  [a1,a2]  [a1,a2]     
y2  [b1,b2]  [b1,b2]  [b1,b2]     
y3  [c1,c2]  [c1,c2]  [c1,c2]   

一種(眾多)可能的解決方案:

In [63]: d1.astype(str).add(',').add(d2.astype(str)).apply(lambda x: x.str.split(','))
Out[63]:
          x1        x2        x3
y1  [a1, a2]  [a1, a2]  [a1, a2]
y2  [b1, b2]  [b1, b2]  [b1, b2]
y3  [c1, c2]  [c1, c2]  [c1, c2]

使用applymap

In [953]: df1.applymap(lambda x: [x]) + df2.applymap(lambda x: [x])
Out[953]:
          x1        x2        x3
y1  [a1, a2]  [a1, a2]  [a1, a2]
y2  [b1, b2]  [b1, b2]  [b1, b2]
y3  [c1, c2]  [c1, c2]  [c1, c2]

暫無
暫無

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

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