Python 3.x 稀疏热编码特征的内存问题

Python 3.x 稀疏热编码特征的内存问题,python-3.x,pandas,scipy,sparse-matrix,amazon-sagemaker,Python 3.x,Pandas,Scipy,Sparse Matrix,Amazon Sagemaker,我想从数据帧df为一个热编码特征创建稀疏矩阵。但我得到下面给出的代码内存问题。稀疏线的形状是(4501381508) 我得到如下所示的内存错误 MemoryError: Unable to allocate 647. MiB for an array with shape (1508, 450138) and data type uint8 我尝试了scipy.sparse.lil_matrix,得到了与上面相同的错误 有什么有效的方法来处理这个问题吗? 提前感谢尝试设置为True spars

我想从数据帧
df
为一个热编码特征创建稀疏矩阵。但我得到下面给出的代码内存问题。稀疏线的形状是(4501381508)

我得到如下所示的内存错误

MemoryError: Unable to allocate 647. MiB for an array with shape (1508, 450138) and data type uint8
我尝试了
scipy.sparse.lil_matrix
,得到了与上面相同的错误

有什么有效的方法来处理这个问题吗?
提前感谢

尝试设置为
True

sparsebool,默认为False 伪编码列是否应该由SparseArray(True)或常规NumPy数组(False)支持


这将使用比默认模式更高效(但速度稍慢)的内存表示形式。

您有什么操作系统?这可能有帮助吗?我正在使用aws sgaemaker实例类型ml.t2.mediumThank它解决了错误。稍后,我可以将其转换为
scipy.sparse.csr.csr\u矩阵
MemoryError: Unable to allocate 647. MiB for an array with shape (1508, 450138) and data type uint8
sparse_onehot = pd.get_dummies(df[sp_features], columns = sp_features, sparse = True)