Numpy: падение строк со всеми значениями nan или 0

Я хотел бы удалить все значения из таблицы, если строки = nan или 0 .

Я знаю, что есть способ сделать это, используя pandas ie pandas.dropna(how = 'all') но мне нужен метод numpy для удаления строк со всеми nan или 0 .

Есть ли эффективная реализация этого?

4 Solutions collect form web for “Numpy: падение строк со всеми значениями nan или 0”

 import numpy as np a = np.array([ [1, 0, 0], [0, np.nan, 0], [0, 0, 0], [np.nan, np.nan, np.nan], [2, 3, 4] ]) mask = np.all(np.isnan(a) | np.equal(a, 0), axis=1) a[~mask] 

Это приведет к удалению всех строк, всех нулей или всех nans:

 mask = np.all(np.isnan(arr), axis=1) | np.all(arr == 0, axis=1) arr = arr[~mask] 

И это приведет к удалению всех строк, которые являются либо нулями, либо nans:

 mask = np.all(np.isnan(arr) | arr == 0, axis=1) arr = arr[~mask] 

Мне нравится этот подход

 import numpy as np arr = np.array([[ np.nan, np.nan], [ -1., np.nan], [ np.nan, -2.], [ np.nan, np.nan], [ np.nan, 0.]]) mask = (np.nan_to_num(arr) != 0).any(axis=1) 

Вне:

 >>> arr[mask] ... array([[ -1., nan], [ nan, -2.]]) 

Кроме того: если вы хотите сбросить строки, если строка имеет nan или 0 в любом одном значении

 a = np.array([ [1, 0, 0], [1, 2, np.nan], [np.nan, np.nan, np.nan], [2, 3, 4] ]) mask = np.any(np.isnan(a) | np.equal(a, 0), axis=1) a[~mask] 

Вывод

 array([[ 2., 3., 4.]]) 
  • Добавление серии pandas с разными индексами без получения NaN
  • Pandas DataFrame из словаря со списками
  • Горизонтальные ящики в matplotlib / Pandas
  • Есть ли параметр в matplotlib / pandas, чтобы иметь ось Y гистограммы в процентах?
  • Смещение DatetimeIndex с
  • Преобразование текстовых данных из объекта запроса в dataframe с помощью pandas
  • Как показать метки данных при наведении указателя мыши на данные
  • pandas: Когда содержимое ячейки является списком, создайте строку для каждого элемента в списке
  • Вопросы времени и времени, в то время как предсказание временных рядов в Pandas
  • Быстрое применение строковых операций в pandas DataFrame
  • Pandas: создание DataFrame из серии
  •  
    Interesting Posts for Van-Lav

    Список, не разрешающий .splitlines () – Python

    Аннотировать с django-graphene и фильтрами

    Selenium «Невозможно найти соответствующий набор возможностей», несмотря на то, что драйвер находится в / usr / local / bin

    Matplotlib: ответ на события кликов

    Вывод True и

    supervisor – как запускать несколько команд

    argsort в массиве PyTables

    IOError: на устройстве нет места – какое устройство?

    Почему экземпляры python не имеют атрибута __name__?

    Как восстановить непрерывную последовательность идентификаторов в качестве первичных ключей в базе данных SQL?

    Python: статистика использования памяти для каждого типа объекта (или строки исходного кода)

    SQLAlchemy: проверьте, присутствует ли объект в таблице.

    gdb python: Может ли кто-нибудь объяснить мне, как использовать этот скрипт, написанный на этом посту?

    SOAP suds и ужасная схема Тип Не найдена ошибка

    Не удалось выполнить операцию WriteBatch с помощью py2neo

    Python - лучший язык программирования в мире.