【发布时间】:2014-11-19 11:43:10
【问题描述】:
我目前正在研究一个 scipy 稀疏 csr 矩阵。我想删除矩阵的数据数组中包含 0 的矩阵中的所有行(数据数组是您可以在下面的示例中看到的 1 和 2)。到目前为止,我有以下内容
indexRowsToBeDeleted = []
for rowIndex, dataValue in enumerate(someSparseCsrMatrix.data):
if dataValue == 0:
indexRowsToBeDeleted.append(rowIndex)
这是矩阵的样子(它基本上是使用 sklearn 的 CountVectorizer 创建的):
(0, 1735) 1
(0, 2988) 1
(0, 3366) 2
(0, 3850) 2
(0, 5424) 1
(0, 6537) 1
(0, 7653) 1
: :
(6383, 15600) 1
(6383, 18689) 1
(6383, 19008) 1
(6383, 19012) 1
(6383, 20094) 1
(6383, 20368) 1
知道如何进行吗?
【问题讨论】:
-
你能举例说明你的矩阵是什么样的吗?
-
当然。我刚刚添加了一个示例。
-
只是出于好奇,为什么要从稀疏矩阵的
data字段中删除0? -
我正在研究情感分类的特征正则化(损坏)。虽然我不确定删除特征向量中频率为 0 的特征是否重要(我根据特征权重将某些特征的频率计数更改为 0,而不是删除特征,因为我不知道如何那时将它们从矩阵中删除...
-
谢谢。成功了!
标签: python python-2.7 scipy sparse-matrix