【发布时间】:2013-08-23 08:03:31
【问题描述】:
我正在尝试编写一个函数来删除其中具有零值的所有行。 这不是来自我的代码,而是我正在使用的想法的一个示例:
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 中带有索引的行? 抱歉,我对此很陌生,任何帮助将不胜感激。
【问题讨论】:
-
只有一条评论。您发布的那段示例代码在
b上循环以删除单个行。这根本不需要。a = np.delete(a, b, axis=0)就像一个魅力(指定axis是为了让我们在做什么更明显)
标签: python arrays numpy zero delete-row