Как выбрать строки со значениями nan в pandas (с примерами)
Вы можете использовать следующие методы для выбора строк со значениями NaN в pandas:
Способ 1: выберите строки со значениями NaN в любом столбце
df. loc [df. isnull (). any (axis= 1 )]
Способ 2: выберите строки со значениями NaN в определенном столбце
df. loc [df[' this_column ']. isnull ()]
В следующих примерах показано, как использовать каждый метод на практике со следующим DataFrame pandas:
import pandas as pd import numpy as np #createDataFrame df = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'], ' points ': [18, np.NaN, 19, 14, 14, 11, 20, 28], ' assists ': [5, 7, 7, 9, np.NaN, 9, 9, np.NaN], ' rebounds ': [11, 8, 10, 6, 6, 5, 9, np.NaN]}) #view DataFrame print (df)
Пример 1. Выбор строк со значениями NaN в любом столбце
Мы можем использовать следующий синтаксис для выбора строк со значениями NaN в любом столбце DataFrame:
#create new DataFrame that only contains rows with NaNs in any column df_nan_rows = df. loc [df. isnull (). any (axis= 1 )] #view results print (df_nan_rows) team points assists rebounds 1 B NaN 7.0 8.0 4 E 14.0 NaN 6.0 7 H 28.0 NaN NaN
Обратите внимание, что каждая строка результирующего DataFrame содержит значение NaN хотя бы в одном столбце.
Пример 2. Выбор строк со значениями NaN в определенном столбце
Мы можем использовать следующий синтаксис для выбора строк со значениями NaN во вспомогательном столбце DataFrame:
#create new DataFrame that only contains rows with NaNs in assists column df_assists_nans = df. loc [df[' assists ']. isnull ()] #view results print (df_assists_nans) team points assists rebounds 4 E 14.0 NaN 6.0 7 H 28.0 NaN NaN
Обратите внимание, что каждая строка результирующего DataFrame содержит значение NaN во вспомогательном столбце.
В столбце очков есть строка со значением NaN, но эта строка не выбрана, поскольку она также не имеет значения NaN в столбце передач .
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в pandas:
Pandas: как удалить строки со значениями NaN
Pandas: как заменить значения NaN строкой
Pandas: как заполнить значения NaN средним значением