Удалите все нулевые строки в 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

  • python's scipy.stats.ranksums vs. R's wilcox.test
  • как комментировать текст с текстом в matplotlib?
  • Как я могу получить эффект «умного резкости» на моих изображениях с помощью python?
  • Умножить матрицы высокого порядка с numpy
  • SciPy и scikit-learn - ValueError: несоответствие размеров
  • Python: дифференцирование между векторами строк и столбцов
  • Почему использование tanh-определения логистического сигмоида быстрее, чем истечение срока действия scipy?
  • Стандартное отклонение для установленных параметров с scipy.ODR, когда данные содержат ошибку
  • Соглашения для 'import ... as'
  • Определенный способ разбора алфавитно-цифровых CSV в Python с scipy / numpy
  • База данных или табличное решение для временных массивов Numpy
  • Python - лучший язык программирования в мире.