Python 使用列表逻辑比较打印点

Python 使用列表逻辑比较打印点,python,numpy,matplotlib,Python,Numpy,Matplotlib,我有一个包含6列的文件。我想分离这个文件的一些部分,然后绘制它们,这样我就可以通过numpy读取它们,并定义空空间来存储我需要的点。为了填充数组,我定义了一个条件,然后填充数组。我面临着一个错误 ValueError Traceback (most recent call last) <ipython-input-118-c74d3cae8a8a> in <module> 23 for i in ra

我有一个包含6列的文件。我想分离这个文件的一些部分,然后绘制它们,这样我就可以通过numpy读取它们,并定义空空间来存储我需要的点。为了填充数组,我定义了一个条件,然后填充数组。我面临着一个错误

ValueError                                Traceback (most recent call last)
<ipython-input-118-c74d3cae8a8a> in <module>
     23 for i in range(1,len(x)):
     24 
---> 25     if (near == 0.0  or near>=0.0):
     26         xx.append(x[i])
     27         yy.append(y[i])

ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

使用
all()
尝试以下操作,因为
near
似乎是一个列表:

for i in range(1,len(x)):
    if all(ii>=0.0 for ii in near):
        xx.append(x[i])
        yy.append(y[i])

替换或替换为|。发生了什么?你能说出阵列的形状吗?@techytushar形状取决于满足条件的点数,我的意思是,如果点数为1200,形状将变为
(1200,)
@Ehsan我已经做了,但它没有解决问题if(near==0.0或near>=0.0):这等于if(near>=0.0):。现在怎么办?你的解决方案对我得到的错误是正确的。但是捕获数组仍然是一个问题。我的意思是,我不能排除各点之间的协调
xx.append(x[i])和yy.append(y[i])
不从初始数组中获取任何值
for i in range(1,len(x)):
    if all(ii>=0.0 for ii in near):
        xx.append(x[i])
        yy.append(y[i])