Python 使用列表逻辑比较打印点
我有一个包含6列的文件。我想分离这个文件的一些部分,然后绘制它们,这样我就可以通过numpy读取它们,并定义空空间来存储我需要的点。为了填充数组,我定义了一个条件,然后填充数组。我面临着一个错误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
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])