gpt4 book ai didi

python - scipy 稀疏矩阵 : remove the rows whose all elements are zero

转载 作者:太空狗 更新时间:2023-10-29 22:09:11 24 4
gpt4 key购买 nike

我有一个从 sklearn tfidfVectorier 转换而来的稀疏矩阵。我相信有些行是全零行。我想删除它们。但是,据我所知,现有的内置功能,例如nonzero() 和 eliminate_zero(),关注零条目,而不是行。

有什么简单的方法可以从稀疏矩阵中删除全零行吗?

例子:我现在拥有的(实际上是稀疏格式):

[ [0, 0, 0]
[1, 0, 2]
[0, 0, 1] ]

我想得到的:

[ [1, 0, 2]
[0, 0, 1] ]

最佳答案

切片 + getnnz() 就可以了:

M = M[M.getnnz(1)>0]

直接在 csr_array 上工作。您还可以在不更改格式的情况下删除所有 0 列:

M = M[:,M.getnnz(0)>0]

但是如果你想同时删除你需要的

M = M[M.getnnz(1)>0][:,M.getnnz(0)>0] #GOOD

我不知道为什么

M = M[M.getnnz(1)>0, M.getnnz(0)>0] #BAD

不起作用。

关于python - scipy 稀疏矩阵 : remove the rows whose all elements are zero,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31188141/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com