Pandas中的数据透视表 - 不可解决的类型

时间:2015-06-29 16:15:06

标签: python pandas dataframe pivot-table typeerror

我有一个基本上如下所示的pandas数据帧(df)

    TestDate            Manager     Score
0   2015-06-05 00:00:00 Jane Smith  5.000000
1   2015-06-05 00:00:00 John Doe    4.875000
2   2015-06-05 00:00:00 Jane Doe    4.428571
3   2015-06-05 00:00:00 John Doe    4.000000
4   2015-06-07 00:00:00 Josh Smith  3.500000
.....(~250 rows)

df.dtypes()
TestDate                 datetime64[ns]
Manager                  object
Score                    float64
dtype: object

我只想在此创建一个简单的数据透视表,以计算每个经理每天的平均分数。因此,我应该为每个经理名称添加一列。

然而,当我跑

df.pivot('TestDate', 'Manager', 'Score')

我得到了

TypeError: unorderable types: int() <= NoneType()

输出

<class 'pandas.core.frame.DataFrame'>
DatetimeIndex: 11 entries, 2015-06-05 00:00:00 to 2015-06-24 00:00:00
Data columns (total 11 columns):
John Doe           4  non-null values
Jane Doe           4  non-null values
....
dtypes: float64(11)

为什么我会收到此类错误?它应该是一个字符串字段的简单转轴,使用mean作为浮点字段上的自动聚合函数?

1 个答案:

答案 0 :(得分:1)

您可以尝试使用pivot_table

df.pivot_table(values='Score', index='TestDate', columns='Manager', aggfunc='mean')