将索引映射到实际值(将熊猫DF转换为coo_matrix转换为csr_matrix)

时间:2018-09-17 10:15:19

标签: python scipy

我有一个非常庞大的购买数据集。因此,在读取CSV之后,我想将其转换为稀疏矩阵并进行计算。

 # dataframe representing product_id purchased (value = 1) or not (value = 0) by user_id 
 df_user_product = df[['user_id','product_id']].copy()
 ar1 = np.array(df_user_product.to_records(index=False))
 rows, r_pos = np.unique(ar1['product_id'], return_inverse=True)
 cols, c_pos = np.unique(ar1['user_id'], return_inverse=True)
 #construct sparse matrix 
 s = sparse.coo_matrix((np.ones(r_pos.shape,int), (r_pos, c_pos)))
 sparse_csr_mat = s.tocsr()
 #calculations
 ....

但是,接下来,我需要将csr_matrix的索引映射回product_id的实际值。 现在我有了它们:

(0,1)    00.7
(0, 123) 1.00
(4, 0)   0.45

,我需要知道1对应什么?哪个product_id123也对应什么,等等。

我还有一个问题,当我将coo_matrix转换为csr_matrix时,索引是否仍引用相同的product_id

0 个答案:

没有答案