我有这段代码可以从零行过滤大型 numpy 数组(6000000 行)。
nonZero_training_data=[]
for i in get_training_data:
if (np.equal(i[0],[[0,0,0,0],[0,0,0,0]]).all()):
continue
nonZero_training_data=nonZero_training_data+[i]
数组中的每一行像这样: [(array([[x1,x2,x3,x4], [x1,x2,x3,x4]]), y),]
但是执行时间很长,可能需要一分钟或更长时间。
这是 get_training_data 中的前 5 行:
array([[array([[0.2, 0., 0., 0.],
[0.9, 0., 0., 3.]]),
1],
[array([[0., 4., 1., 0.],
[0., 0., 1., 0.]]), 1],
[array([[2., 0., 7., 0.],
[0., 0., 1., 8.]]),
0],
[array([[0., 5., 0., 2.],
[0., 8., 0., 1.]]),
0],
[array([[0., 1., 0., 1.],
[0., 5., 0., 0.]]),
1]], dtype=object)
有没有更有效的方法来做到这一点?
对不起我的英语,任何更正我都会很感激。
qq_笑_17
慕侠2389804
相关分类