給定一百萬條記錄的大型數據集,我正在尋找方法來做一個group。 我是新來的python,但我知道在SQL中有一個groupby函數,我猜它可能適用。Groupby在python的列表中
我想要實現這算什麼,
從
["A", 4]
["B", 4]
["F", 3]
["A", 4]
["B", 1]
要
["A", (4,4)]
["B", (1,4)]
["F", (3)]
我也在尋找一種有效的方式來計算評分列表的平均值。所以最後的輸出應該是:
["A", 4]
["B", 2.5]
["F", 3]
我試圖做一個迭代的方法進行,但拋出的錯誤是「有太多的數據解壓」。這是我的解決方案,它不適合數據集。
len = max(key for (item, key) in results)
newList = [[] for i in range(len+1)]
for item, key in results:
newList[key].append(item)
我正在尋找有效的方法來做到這一點,有沒有辦法在列表理解中做groupby?謝謝!
誤差意味着數據集**不是**形式'的[(X,Y),...]'。你確定'結果'是'(x,y)'對的迭代嗎? – freakish