簡體   English   中英

連接兩個熊貓數據透視表

[英]join two pandas pivot tables

考慮到兩個相似的熊貓數據透視表,如何將這兩個表連接到它們的索引上,例如country 例如:

df1.pivot_table(index='country', columns='year', values=['rep','sales'], aggfunc='first')

          rep                       sales                  
year     2013  2014    2015  2016   2013  2014  2015  2016
country                                                  
fr       None  kyle  claire  None   None   10    20    None
uk       kyle  None    None  john    12   None  None   10
usa      None  None    None  john   None  None  None   21


df2.pivot_table(index='country', columns='year', values=['rep','sales'], aggfunc='first')

          rep                          sales                  
year     2013  2014    2015   2016     2013   2014  2015  2016
country                                                  
fr       120   marc   debbie  None     None    0    56   None
uk       marc  None    100    peter    45    None   65    10
ca       89    None    None   peter    None   33   None   78

如何加入這些表格

是模糊的。 有很多方法可以連接這些表。

設定

idx = pd.Index(['fr', 'uk', 'usa'], name='country')
col = pd.MultiIndex.from_product([['rep', 'sales'], range(2013, 2017)],
                                 names=[None, 'year'])

p1 = pd.DataFrame([
        [None, 'kyle', 'claire', None, None, 10, 20, None],
        ['kyle', None, None, 'john', 12, None, None, 10],
        [None, None, None, 'john', None, None, None, 21]
    ], idx, col, object)

p2 = pd.DataFrame([
        [120, 'marc', 'debbie', None, None, 0, 56, None],
        ['marc', None, 100, 'peter', 45, None, 65, 10],
        [89, None, None, 'peter', None, 33, None, 78]
    ], idx, col, object)

可能的解決方案

p1.combine_first(p2)

在此處輸入圖片說明


pd.concat([p1, p2], axis=1, keys=['p1', 'p2'])

在此處輸入圖片說明

暫無
暫無

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

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