This is a follow up of my question. Rather than a pivot table, is it possible to flatten table to look like the following:
data = {'year': ['2016', '2016', '2015', '2014', '2013'],
'country':['uk', 'usa', 'fr','fr','uk'],
'sales': [10, 21, 20, 10,12],
'rep': ['john', 'john', 'claire', 'kyle','kyle']
}
pd.DataFrame(data).pivot_table(index='country', columns='year', values=['rep','sales'])
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
Flattened table:
rep_2013 rep_2014 rep_2015 rep_2016 sales_2013 sales_2014 sales_2015 sales_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
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…