【发布时间】:2015-08-02 00:10:40
【问题描述】:
我正在尝试从稀疏的 numpy 矩阵创建 SparseSeries 列表。创建 lil_matrix 很快并且不会消耗大量内存(实际上我的维度更多的是数百万,即 1500 万个样本和 400 万个特征)。我已经阅读了之前的topic 。但这个解决方案似乎也耗尽了我所有的记忆,冻结了我的电脑。从表面上看,pandas SparseSeries 并不是很稀疏,还是我做错了什么?最终目标是从中创建一个 SparseDataFrame(就像我提到的其他主题一样)。
from scipy.sparse import lil_matrix, csr_matrix
from numpy import random
import pandas as pd
nsamples = 10**5
nfeatures = 10**4
rm = lil_matrix((nsamples,nfeatures))
for i in xrange(nsamples):
index = random.randint(0,nfeatures,size=4)
rm[i,index] = 1
l=[]
for i in xrange(nsamples):
l.append(pd.Series(rm[i,:].toarray().ravel()).to_sparse(fill_value=0))
【问题讨论】:
-
似乎很稀疏:
type(l[0]) Out[313]: pandas.sparse.series.SparseSeries