Як вибрати рядки без значень 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 середнім

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *