我有一個像這樣的熊貓資料框:
| 用戶身份 | 音樂ID | 評分 |
|---|---|---|
| 一個 | 一個 | 5 |
| 乙 | 一個 | 3 |
我想從中創建一個稀疏矩陣,將 music_id 作為列,將 user_id 作為一行,如下所示:
->
| 一個 | b | |
|---|---|---|
| 一個 | 5 | |
| 乙 | 3 |
通過使用 pandas 或 numpy 來完成這項任務的方法是什么?
uj5u.com熱心網友回復:
如果我們假設您有問題中描述的以下資料集:
d = {'user_id':['A','B'],'music_id':['a','a'],'rating':[5,3]}
df = pd.DataFrame(d)
然后你可以這樣做:
df.set_index(['user_id','music_id']).unstack(level=-1).rating
或者,等效地:
pd.pivot_table(df,values='rating',index='user_id',columns=['music_id'])
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/525357.html
下一篇:2個串列的元素之間的所有成對均值
