Судя по вашему коду, тест работал нормально, но .delete выглядел как проблема.Вот пример:
import numpy as np
import random
np.set_printoptions(threshold=np.nan)
dtype_arr = []
x_range_upper_limit = 12
y_range = "abcdefghijklm"
for letter in y_range: # abcdefghijklmnopqrstuvwxyz
dtype_arr.append((letter, 'int'))
data = np.recarray((x_range_upper_limit,),dtype=dtype_arr)
for letter in range(0,x_range_upper_limit):
for i in y_range:
data[letter][i]=random.randint(1,101)
print ("data length:{}".format(len(data)))
# ensure a row to delete
data['l'][3] = 280
data['b'][3] = 10
# test code
print (data)
list_of_rows_to_delete = []
for i in range(0, x_range_upper_limit):
if 270 <= data['l'][i] <= 350 and -20 <= data['b'][i] <= 20:
list_of_rows_to_delete.append(i)
print ("list of rows to delete: {}".format(list_of_rows_to_delete))
data=np.delete(data, list_of_rows_to_delete)
print (len(data))
print (data)
Вывод:
data length:12
[(74, 14, 53, 54, 99, 35, 31, 88, 49, 8, 50, 8, 30)
(26, 11, 4, 47, 84, 88, 73, 55, 58, 61, 68, 101, 58)
(64, 33, 7, 82, 32, 44, 1, 34, 47, 60, 38, 56, 17)
(87, 10, 24, 71, 54, 49, 73, 42, 86, 1, 70, 280, 55)
(87, 80, 100, 97, 9, 41, 99, 51, 97, 13, 46, 81, 34)
(72, 18, 88, 14, 42, 98, 50, 10, 70, 35, 33, 31, 18)
(59, 53, 98, 22, 50, 14, 29, 84, 27, 70, 90, 7, 58)
(47, 26, 27, 48, 79, 37, 97, 64, 64, 59, 15, 52, 32)
(62, 75, 85, 36, 38, 53, 33, 98, 54, 2, 33, 9, 21)
(81, 97, 96, 58, 40, 50, 32, 4, 94, 9, 16, 79, 50)
(75, 66, 90, 29, 94, 48, 44, 28, 41, 18, 45, 65, 50)
(20, 60, 25, 69, 40, 90, 99, 79, 30, 8, 23, 27, 25)]
list of rows to delete: [3]
11
[(74, 14, 53, 54, 99, 35, 31, 88, 49, 8, 50, 8, 30)
(26, 11, 4, 47, 84, 88, 73, 55, 58, 61, 68, 101, 58)
(64, 33, 7, 82, 32, 44, 1, 34, 47, 60, 38, 56, 17)
(87, 80, 100, 97, 9, 41, 99, 51, 97, 13, 46, 81, 34)
(72, 18, 88, 14, 42, 98, 50, 10, 70, 35, 33, 31, 18)
(59, 53, 98, 22, 50, 14, 29, 84, 27, 70, 90, 7, 58)
(47, 26, 27, 48, 79, 37, 97, 64, 64, 59, 15, 52, 32)
(62, 75, 85, 36, 38, 53, 33, 98, 54, 2, 33, 9, 21)
(81, 97, 96, 58, 40, 50, 32, 4, 94, 9, 16, 79, 50)
(75, 66, 90, 29, 94, 48, 44, 28, 41, 18, 45, 65, 50)
(20, 60, 25, 69, 40, 90, 99, 79, 30, 8, 23, 27, 25)]