这是代码
outFile.open("C:\\Users\\pookie\\Documents\\WHERETHEFISMYFILE.txt", ios_base::out);
这就是我试过的
a = np.array([[ 0, 1],
[ 3, 11],
[4,2]])
当我只有两个元素时,它工作得很好,但更多它会抛出一个错误。我想要做的是在第一列中,如果有一个小于1的值,我需要删除整行。
所以预期的输出是
a= a[a[0]>0,:]
我希望找到一个解决方案,即使每个项目有超过2个元素,我也可以概括,例如
([ 3, 11],
[4,2]])
然后代码的应用将给出诸如
之类的结果 ([2,3,4,5],
[8,2,4,6],
[2,4,9,1],
[5,3,2,0],)
任何建议。
答案 0 :(得分:4)
仅针对第一列使用a[:,0] > 0
,它将从第一列中提取所有值并检查哪些是> 0或任何你想要的条件:
In [50]: a = np.array([[ 0, 1],
[ 3, 11],
[4,2]])
In [51]: a[a[:,0] > 0]
Out[51]:
array([[ 3, 11],
[ 4, 2]])
如果要检查每行中的所有值,可以使用all
:
In [43]: a = np.array([[ 0, 1],
[ 3, 11],
[4,2]])
In [44]: a[(a >= 0).all(axis=1)]
Out[44]:
array([[ 3, 11],
[ 4, 2]])
In [45]: a = np.array ([[2,3,4,5],
[8,2,4,6],
[2,4,9,1],
[5,3,2,0]])
In [46]: a[(a > 0).all(axis=1)]
Out[46]:
array([[2, 3, 4, 5],
[8, 2, 4, 6],
[2, 4, 9, 1]])