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