使用列表逻辑比较绘制点



我有一个包含 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()

我编写的代码如下:

import numpy as np
import matplotlib.pyplot as plt
a = np.loadtxt('file_1001.out')
near = a[-1]
x = a[0]
y = a[1]
#print(most_frequent(near))
xx=[]
yy=[]
for i in range(1,len(x)):
if (near == 0.0  or near>=0.0):
xx.append(x[i])
yy.append(y[i])
print(xx)
print(yy)

使用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])

最新更新