Удалите все нулевые строки в 2D-матрице

Есть ли эффективная и / или встроенная функция для удаления всех нулевых строк массива 2d? Я смотрю на документацию numpy, но я ее не нашел.

2 Solutions collect form web for “Удалите все нулевые строки в 2D-матрице”

Булевое индексирование будет делать это:

In [2]: a Out[2]: array([[4, 1, 1, 2, 0, 4], [3, 4, 3, 1, 4, 4], [1, 4, 3, 1, 0, 0], [0, 4, 4, 0, 4, 3], [0, 0, 0, 0, 0, 0]]) In [3]: a[~(a==0).all(1)] Out[3]: array([[4, 1, 1, 2, 0, 4], [3, 4, 3, 1, 4, 4], [1, 4, 3, 1, 0, 0], [0, 4, 4, 0, 4, 3]]) 

Вы можете использовать встроенную функцию numpy.nonzero .

http://docs.scipy.org/doc/numpy/reference/generated/numpy.nonzero.html

  • imresize в PIL / scipy.misc работает только для uint8 изображений? любые альтернативы?
  • Точечный продукт двух разреженных матриц, влияющих только на нулевые значения
  • Заменяйте для numpy-трансляции с помощью scipy.sparse.csc_matrix
  • Стандартная ошибка, игнорирующая NaN в группах групп pandas
  • Установка сложной модели с использованием Python и lmfit?
  • Лучший способ написать функцию Python, которая объединяет гауссово?
  • CSR scipy-матрица не обновляется после обновления своих значений
  • scipy.sparse dot чрезвычайно медленный в Python
  • Python - лучший язык программирования в мире.