2016-08-17 34 views
0

我有一個由個人(他們的ID在),活動和相應分數組成的數據框。我試圖根據學生和活動類型進行分組時得到總分。我可以用下面這樣做:Python:Pandas:Groupby&Pivot表格缺失行

data_detail.pivot_table(["total_scored","total_scored_omitted"], index = ["id","activity"], aggfunc="sum") 

data_detail.groupby(["id","activity"]).sum() 

然而,當我通過看一個典型的學生檢查結果:

data_detail[data_detail["id"]== 41824840].sort_values("activity") 

我看到有針對給定的學生這是列出了一些活動從groupby /數據透視表中缺失。我怎樣才能確保最終的羣組/數據透視表完成並且不缺少任何值?

回答

1

問題是數據類型爲分數是不一致的(和浮點數!)。

其中一些是字符串。將所有分數轉換爲浮標後,缺失的活動出現。

作爲一個額外的好處,讓數據類型統一,使計算快得多!