Подтвердить что ты не робот

Преобразование Pandas данных в матрицу Sparse Numpy напрямую

Я создаю матрицу из фрейма Pandas следующим образом:

dense_matrix = np.array(df.as_matrix(columns = None), dtype=bool).astype(np.int)

А затем в разреженную матрицу с:

sparse_matrix = scipy.sparse.csr_matrix(dense_matrix)

Есть ли способ перейти от df прямо к разреженной матрице?

Спасибо заранее.

4b9b3361

Ответ 1

df.values - это массив numpy, и доступ к таким значениям всегда быстрее, чем np.array.

scipy.sparse.csr_matrix(df.values)

Возможно, вам придется сначала перенести транспонирование, например df.values.T. В DataFrames столбцы представляют собой ось 0.