【发布时间】:2020-11-27 23:07:49
【问题描述】:
我有这些数据:
l = ['10 20 10 36 30 33 400 400 -1 -1',
'100 50 50 30 60 27 70 24 -2 -2 700 700',
'300 1000 80 21 90 18 100 15 110 12 120 9 900 900 -3 -3',
'30 90 130 6 140 3 -4 -4 1000 1000']
l = [e.split() for e in l]
我创建了以下变量,它是 int64 数组的列表:
time = [np.array(time[2::2], dtype=int) for time in l]
我希望对我的时间数组值进行排序,并且只包含不在 0-50 范围内的值。 所以我做了以下事情:
for array in range(len(time)):
for row in time[array]:
for element in row:
if element < 0 or element > 50:
element = False
print("Error: Index {:.2f} in time is out of range".format(element))
我得到了这个输出:
'numpy.int64' object is not iterable
我想要这个输出:
Array of int64 [10 30 False False]
Array of int64 [50 60 70 False False]
Array of int64 [80 90 100 110 120 False False]
Array of int64 [130 140 False False]
【问题讨论】:
-
我没有得到你的输出,因为你说你想要 0-50 之间的值
-
循环中应该有
if element >= 50:吗? -
time[array]是一行,而不是二维数组。 -
我想你想要
for row in time:,你不需要array变量。 -
好的,我在 for 循环中忘记了一些东西——所以我已经编辑了我的问题,现在我应该拥有一切;我的意思是我希望我的数组/行只包含不包含 0-50 的值,否则 value/int = False
标签: python arrays python-3.x arraylist numpy-ndarray