Отображение индексов в реальные значения (Pandas DF в coo_matrix преобразуется в csr_matrix) - PullRequest
0 голосов
/ 17 сентября 2018

У меня действительно большой набор данных о покупках. Поэтому после прочтения 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_id? что соответствует 123 и т. д.

У меня также есть вопрос, когда я конвертирую coo_matrix в csr_matrix, индексы все еще относятся к тем же product_id с?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...