[英]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.