2015-06-29 51 views
2

我有一个数据框大熊猫(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) 

为什么会出现这种类型的错误?它应该是一个简单的摆脱字符串字段使用平均值作为float字段上的自动聚合函数?

+0

尝试,如果我只是做df.head() – John

回答

1

你可以用pivot_table

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

谢谢,我也得到一个unorderable类型的错误。所以pivot和pivot_table可以在创建适当的输出时工作。但我仍然收到无法编辑的类型错误信息。 – John