2016-12-01 138 views

回答

3

您可以通過values使用pivotfillna,轉換爲int和最後轉換到數組:

arr = df.pivot('user_id', 'item_id', 'rating').fillna(0).astype(int).values 
print (arr) 
[[5 3 0] 
[3 0 5]] 

set_indexunstackvalues另一種解決方案:

arr = df.set_index(['user_id','item_id']).unstack(fill_value=0).values 
print (arr) 
[[5 3 0] 
[3 0 5]]