我有一个基本上如下所示的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作为浮点字段上的自动聚合函数?
答案 0 :(得分:1)
您可以尝试使用pivot_table
df.pivot_table(values='Score', index='TestDate', columns='Manager', aggfunc='mean')