@ hpauljさんの返答に感謝します。私はhttps://stackoverflow.com/a/38157234/7298911のテンプレートを使用してそれを終了しました。
変更された実装がここにあります。
def sparseDfToCsc(df):
columns = df.columns
dat, rows = map(list,zip(*[(df[col].sp_values-df[col].fill_value, df[col].sp_index.to_int_index().indices) for col in columns]))
cols = [np.ones_like(a)*i for (i,a) in enumerate(dat)]
datF, rowsF, colsF = np.concatenate(dat), np.concatenate(rows), np.concatenate(cols)
arr = sparse.coo_matrix((datF, (rowsF, colsF)), df.shape, dtype=np.float64)
return arr.tocsc()
df = pd.get_dummies(df, sparse=True)
cscMatrix = sparseDfToCsc(df)
返信いただきありがとうございます@hpaulj。私があなたを正しく理解していれば、最良のアプローチは[メモリ内に密な行列を生成せずに、[Pandas sparse dataFrame to sparse matrix]」(http://stackoverflow.com/questions/31084942/pandas-sparse-dataframe-to-sparse- m-dense-matrix-in-m)である。右? –