如果這對於使用熊貓來說太棘手,那麼對熊貓來說是新的並且好奇。使用熊貓進行棘手的聚合
例輸入:
time person game_id won
-----------------------------------
12:34:01 John 3 False
12:34:04 Ringo 2 True
12:35:05 John 3 False
12:36:01 John 3 True
12:36:12 Ringo 3 True
12:36:41 Paul 4 False
12:37:01 George 2 False
12:37:41 George 2 False
它顯示了一個號碼打了一些比賽隨着時間的人。 贏得的列表示該人是否在當時獲勝。
我想要輸出的是有多少人贏得每場比賽至少一次。 但是還有多少人玩過這款遊戲並且從來沒有獲勝。
輸出示例:
game_id won count
-----------------------
2 True 1
False 1
3 True 2
False 0
4 True 0
False 1
不,不是太靠譜。你可以通過幾種方式在幾行中做到這一點:我使用'groupby'和'.nunique()'來做硬件。 (對我來說,統計總球員和曾經獲勝者的人數似乎更加容易,然後減去他們以獲得從未獲勝者。) – DSM
嗨,Yasir!如果不使用熊貓,我會按照n * log(n)的順序執行一個方法。它的工作原理如下:字典: 首先我按人排序,然後由game_id排序,最後以won排序。然後循環遍歷所有行併爲(game_id,won = True)增加一個計數器(如果存在「True」條目)。否則,如果只有False條目,我會增加(game_id,won = False)。 最後我會打印出結果字典。 有可能是一種更優雅的方式來做到這一點使用熊貓。 –
感謝帝斯曼!如果你能分享一些令人驚歎的細節。試圖爲laaaaarge數據集執行此操作。所以速度是關鍵。 –