0
これは、ユーザアイテム格付けリストがパンダのデータフレームのように見える方法です。ユーザアイテム格付けリストをpysparkのユーザアイテムマトリクスに変換する
user_item_matrix = df.pivot(index = 'user_id', columns ='item_id', values = 'rating')
item_id aaaaaaa bbbbbbb ccccccc ddddddd
user_id
T NaN NaN NaN 1.0
X 5.0 NaN NaN NaN
Y NaN 2.0 NaN NaN
Z NaN NaN 5.0 NaN
私は同じ達成するために、このアプローチをしようとしています:私はパンダで、ユーザーのアイテムマトリックスを作成し、それが唯一の本当のデータセット(約500K行)と秒のカップルを取る方法
item_id rating user_id
0 aaaaaaa 5 X
1 bbbbbbb 2 Y
2 ccccccc 5 Z
3 ddddddd 1 T
このpysparkデータフレームの結果。
from pyspark.sql.functions import first
df.groupby('user_id') \
.pivot('item_id') \
.agg(first('rating'))
しかし、実際のデータでは完了までに時間がかかります。これを実現するよりスマートで速い方法がありますか?基本的に私はユーザ項目評価リストからユーザ項目行列を構築しようとしています。
私はそれが動作すると期待していました:( – muon