我想从以下数据框中创建一个数据透视表,其列sales
,rep
。数据透视表显示sales
,但不显示rep
。当我只用rep
尝试时,我得到了错误DataError: No numeric types to aggregate
。如何解决这一问题,使得我看到这两个数字字段sales
和场(串)rep
pivot_table没有要汇总的数字类型
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']
}
print pd.DataFrame(data).pivot_table(index='country', columns='year', values=['rep','sales'])
sales
year 2013 2014 2015 2016
country
fr NaN 10 20 NaN
uk 12 NaN NaN 10
usa NaN NaN NaN 21
print pd.DataFrame(data).pivot_table(index='country', columns='year', values=['rep'])
DataError: No numeric types to aggregate
这取决于你正在努力去做。默认的agg函数是'mean',你不能考虑销售代表的意思。请更改agg函数或传递另一列的值。如果你只是想使用枢轴,使用枢轴而不是pivot_table。 – ayhan