Python 如何成批变换稀疏矩阵

Python 如何成批变换稀疏矩阵,python,pandas,memory,scipy,sparse-matrix,Python,Pandas,Memory,Scipy,Sparse Matrix,我有一个大约有3000个特征的数据集。我从一个创建了大约1500个特征的TF-IDF和另一个创建了另外1500个特征的TF-IDF创建了一个稀疏集 当我创建第一个TF-IDF时,我将它加入了我的pandas功能集,并且我能够如此稀疏地使用csr\u矩阵没有问题。所以我知道有1500个稀疏特征是可能的。但是当我尝试稀疏整个3000特性集时,我得到了一个内存错误,因为它需要33 GB的RAM,而我只有16个 我假设有可能稀疏如此大的数据帧,我只是不知道如何。我可以合并两个稀疏矩阵吗?有没有可能先做一

我有一个大约有3000个特征的数据集。我从一个创建了大约1500个特征的TF-IDF和另一个创建了另外1500个特征的TF-IDF创建了一个稀疏集

当我创建第一个TF-IDF时,我将它加入了我的pandas功能集,并且我能够如此稀疏地使用
csr\u矩阵
没有问题。所以我知道有1500个稀疏特征是可能的。但是当我尝试稀疏整个3000特性集时,我得到了一个内存错误,因为它需要33 GB的RAM,而我只有16个

我假设有可能稀疏如此大的数据帧,我只是不知道如何。我可以合并两个稀疏矩阵吗?有没有可能先做一半的数据,然后再加上另一半?还是在csr矩阵中有一些我遗漏的论点?我找到了这个建议,但听起来效率很低


是否有我完全没有的替代方案?

也许不是按行,但你能在每行分割矩阵,比如说,n=10000行,然后将所有块分别稀疏?@Botton我这样做了,效果很好,谢谢。我想如果我能做上半部分,而下半部分大小相同,让我把每半部分稀疏化,然后用
hstack
将它们混合在一起,这确实有效。