This question already has answers here:
remove zero lines 2-D numpy array
(4个答案)
5年前关闭。
我正在尝试编写一个函数来删除其中所有值为零的所有行。
这不是我的代码,而是我正在使用的想法的示例:
这是我的输出:
如何摆脱b中带有索引的行?
抱歉,对此我还很陌生,我们将不胜感激。
读取为:从
(4个答案)
5年前关闭。
我正在尝试编写一个函数来删除其中所有值为零的所有行。
这不是我的代码,而是我正在使用的想法的示例:
import numpy as np
a=np.array(([7,1,2,8],[4,0,3,2],[5,8,3,6],[4,3,2,0]))
b=[]
for i in range(len(a)):
for j in range (len(a[i])):
if a[i][j]==0:
b.append(i)
print 'b=', b
for zero_row in b:
x=np.delete(a,zero_row, 0)
print 'a=',a
这是我的输出:
b= [1, 3]
a= [[7 1 2 8]
[4 0 3 2]
[5 8 3 6]
[4 3 2 0]]
如何摆脱b中带有索引的行?
抱歉,对此我还很陌生,我们将不胜感激。
最佳答案
您不需要为此编写函数,可以在单个表达式中完成:
>>> a[np.all(a != 0, axis=1)]
array([[7, 1, 2, 8],
[5, 8, 3, 6]])
读取为:从
a
中选择完全非零的所有行。关于python - 如何删除包含零的numpy数组中的行?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18397805/
10-11 15:30