web-dev-qa-db-ja.com

Pandasデータフレームをスパースナンピーマトリックスに直接変換する

次のようにPandasデータフレームからマトリックスを作成しています:

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

そして、次のスパース行列に:

sparse_matrix = scipy.sparse.csr_matrix(dense_matrix)

Dfからスパース行列に行く方法はありますか?

前もって感謝します。

32
user7289

df.valuesはnumpy配列であり、その方法で値にアクセスすることは、np.arrayよりも常に高速です。

scipy.sparse.csr_matrix(df.values)

df.values.Tのように、まず転置が必要になる場合があります。 DataFramesでは、列は軸0です。

44
Dan Allan