Допустим, у меня есть массив:
print(arr1.shape)
(188621, 10)
И в n-м столбце (скажем, 4 для этого примера) я хочу проверить, когда значение превышает пороговое значение, т.е. Я хочу создать новый список (из x экземпляров) всей строки arr1, когда i-я итерация 4-го столбца выше порога t. Другими словами, он извлекает i-ю строку из arr1, когда выполняется условие в 4-м столбце. Пока что у меня есть:
arr2 = []
for i in range(0,len(arr1)):
if arr1[i,4] > t:
arr2.append(arr1[i,:])
Я также пробовал что-то вроде:
for i in range(0,len(arr1)):
if arr1[i,4] > t:
if len(arr2) == 0:
arr2 = arr1[i,:]
else:
arr2 = np.concatenate((arr2,arr1[i,:]))
Однако оба экземпляра кажутся растущий в 1D с точки зрения x * 10 вместо 2D списка (x, 10) при выполнении условий. Что мне здесь не хватает?