Фильтрация массива numy массивов - PullRequest
0 голосов
/ 24 августа 2018

У меня есть массив массивов np, и я хочу удалить все элементы, соответствующие условию. Я хочу избежать для циклов, чтобы попытаться сделать, если быстрее.

Мой массив np имеет размер N. А внутри есть массивы размера 2. Я хочу удалить все массивы размера 2, где первый элемент равен нулю.

[[1,2],
 [0,5], # <--- Remove
 [5,1],
 [0,3], # <--- Remove
 [1,1],
 [0,0], # <--- Remove
 [5,0],
 .....
 [5,5]] 

Я надеюсь, что есть решение с одним кодом. Я просто не могу понять эту линию. Я надеюсь, что кто-нибудь может мне помочь.

Спасибо.

1 Ответ

0 голосов
/ 24 августа 2018

При условии arr ваш входной массив, выполните следующие действия:

arr = arr[arr[:,0] !=0]

Здесь arr[:,0] соответствуют первому элементу / столбцу или каждому подмассиву. Затем вы проверяете arr[:,0] !=0, который возвращает вам те индексы, где первый элемент не равен нулю. Затем эти индексы автоматически передаются в arr, что дает вам то, что вы хотите.

...