2
我試圖對熊貓數據框中列的某些條目進行規範化處理,有點困難。所以我有這樣一個數據幀:通過其他列的分組值的總和對熊貓數據框中的列進行規範化
df = pd.DataFrame({
'user':[0,0,1,1,1,2,2],
'item':['A','B', 'A', 'B','C','B','C'],
'bought':[1,1,1,3,3,2,3]})
df
bought|item|user
----------------
1 |A |0
1 |B |0
1 |A |1
3 |B |1
3 |C |1
2 |B |2
3 |C |2
我想獲得每個項目的購買數量由每一個用戶購買了合計的標準化。
換句話說,對於「已購買」的每個條目,我想將它除以該用戶購買的總額(作爲另一列)的總和。在這種情況下,我想輸出是這樣(但「規範化」列不必須是分數):
bought|item|user|normalized
--------------------------
1 |A |0 |1/2
1 |B |0 |1/2
1 |A |1 |1/7
3 |B |1 |3/7
3 |C |1 |3/7
2 |B |2 |2/5
3 |C |2 |3/5
到目前爲止,我已經按用戶分組,用戶得到的總和:
grouped = df.groupby(by='user')
grouped.aggregate(np.sum)
但在這一點上,我卡住了。謝謝!