Як вибрати рядки без значень nan в pandas
Ви можете використовувати такі методи, щоб вибрати рядки без значень NaN у pandas:
Спосіб 1: Виберіть рядки без значень NaN у всіх стовпцях
df[~df. isnull (). any (axis= 1 )]
Спосіб 2: Виберіть рядки без значень NaN у певному стовпці
df[~df[' this_column ']. isna ()]
Наступні приклади показують, як використовувати кожен метод на практиці з такими pandas DataFrame:
import pandas as pd import numpy as np #createDataFrame df = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F', 'G'], ' points ': [np.nan, 12, 15, 25, np.nan, 22, 30], ' assists ': [4, np.nan, 5, 9, 12, 14, 10]}) #view DataFrame print (df) team points assists 0 A NaN 4.0 1 B 12.0 NaN 2C 15.0 5.0 3D 25.0 9.0 4 E NaN 12.0 5F 22.0 14.0 6G 30.0 10.0
Приклад 1: Виберіть рядки без значень NaN у всіх стовпцях
Ми можемо використовувати такий синтаксис, щоб вибрати рядки без значень NaN у кожному стовпці DataFrame:
#create new DataFrame that only contains rows without NaNs no_nans = df[~df. isnull (). any (axis= 1 )] #view results print (no_nans) team points assists 2C 15.0 5.0 3D 25.0 9.0 5F 22.0 14.0 6G 30.0 10.0
Зауважте, що кожен рядок отриманого DataFrame не містить жодних значень NaN у жодному стовпці.
Приклад 2: Виберіть рядки без значень NaN у певному стовпці
Ми можемо використовувати такий синтаксис, щоб вибрати рядки без значень NaN у стовпці точок DataFrame:
#create new DataFrame that only contains rows without NaNs in points column no_points_nans = df[~df[' points ']. isna ()] #view results print (no_points_nans) team points assists 1 B 12.0 NaN 2C 15.0 5.0 3D 25.0 9.0 5F 22.0 14.0 6G 30.0 10.0
Зверніть увагу, що кожен рядок отриманого DataFrame не містить значень NaN у стовпці точок .
У стовпці Assists є рядок зі значенням NaN, але цей рядок зберігається у DataFrame, оскільки значення в стовпці Points цього рядка не є NaN.
Додаткові ресурси
У наступних посібниках пояснюється, як виконувати інші типові завдання в pandas:
Pandas: як видалити рядки зі значеннями NaN
Pandas: як замінити значення NaN на рядок
Pandas: як заповнити значення NaN середнім