2015-06-29 57 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