【发布时间】:2018-07-09 07:25:59
【问题描述】:
这是我的代码:
data=pd.get_dummies(data['movie_id']).groupby(data['user_id']).apply(max)
df=pd.DataFrame(data)
replace=df.replace(0,np.NaN)
t=replace.fillna(-1)
sparse=sp.csr_matrix(t.values)
我的数据由两列组成,分别是 movie_id 和 user_id。
user_id movie_id
5 1000
6 1007
我想将数据转换为稀疏矩阵。我首先创建了一个交互矩阵,其中行表示 user_id,列表示 movie_id,正交互为 +1,负交互为 -1。然后我使用 scipy 将其转换为稀疏矩阵。我的结果如下所示:
(0,0) -1
(0,1) -1
(0,2) 1
但我真正想要的是:
(1000,0) -1
(1000,1) 1
(1007,0) -1
任何帮助将不胜感激。
【问题讨论】:
-
您能否分享一些描述您如何尝试转换这些数组的代码?
-
我刚刚调用了 sparse=scipy.csr_matrix(dataframe.values)
标签: python python-3.x pandas dataframe recommendation-engine