首页 > 解决方案 > 如何制作具有分类值的数据透视表?

问题描述

我在下面的代码中有四个分类列。

我可以使用(分类列)进行数据透视吗?

 df.pivot_table(index=['DATE','COUNTRY'],columns='METRIC',values='VALUE',dropna=True).reset_index()

我有下一个错误:

DataError: No numeric types to aggregate

标签: pythonpython-3.xpandaspivot-tablemelt

解决方案


您应该使用 aggfunc 参数来定义聚合函数。

要获得任何值(例如,如果它是唯一的):

df.pivot_table(index=['DATE','COUNTRY'],columns='METRIC',values='VALUE',dropna=True, aggfunc='first').reset_index()

连接所有字符串:

df.pivot_table(index=['DATE','COUNTRY'],columns='METRIC',values='VALUE',dropna=True, aggfunc=lambda x: ', '.join(x)).reset_index()

推荐阅读