Pandas: як використовувати dropna() із певними стовпцями


Ви можете використовувати функцію dropna() з аргументом subset , щоб видалити рядки з pandas DataFrame, які містять відсутні значення в певних стовпцях.

Ось найпоширеніші способи використання цієї функції на практиці:

Спосіб 1: Видаліть рядки з відсутніми значеннями в певному стовпці

 df. dropna (subset = [' column1 '], inplace= True )

Спосіб 2: видаліть рядки з відсутніми значеннями в одному з кількох конкретних стовпців

 df. dropna (subset = [' column1 ', ' column2 ', ' column3 '], inplace= True )

Наступні приклади показують, як використовувати кожен метод на практиці з такими pandas DataFrame:

 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, np.nan, np.nan, 9, 12, 9, 9, 4],
                   ' rebounds ': [11, 8, 10, 6, 6, 5, 9, np.nan]})

#view DataFrame
print (df)

  team points assists rebounds
0 A 18.0 5.0 11.0
1 B NaN NaN 8.0
2 C 19.0 NaN 10.0
3D 14.0 9.0 6.0
4 E 14.0 12.0 6.0
5 F 11.0 9.0 5.0
6G 20.0 9.0 9.0
7H 28.0 4.0 NaN

Приклад 1: видаліть рядки з відсутніми значеннями в певному стовпці

Ми можемо використовувати такий синтаксис, щоб видалити рядки з відсутніми значеннями в стовпці “допомога”:

 #drop rows with missing values in 'assists' column
df. dropna (subset = [' assists '], inplace= True )

#view updated DataFrame
print (df)

  team points assists rebounds
0 A 18.0 5.0 11.0
3D 14.0 9.0 6.0
4 E 14.0 12.0 6.0
5 F 11.0 9.0 5.0
6G 20.0 9.0 9.0
7H 28.0 4.0 NaN

Зауважте, що два рядки з відсутніми значеннями в стовпці «Допомога» були видалені з DataFrame.

Також зауважте, що останній рядок DataFrame зберігається, навіть якщо в ньому відсутнє значення, оскільки відсутнє значення немає в стовпці «helps».

Приклад 2: видаліть рядки з відсутніми значеннями в одному з кількох конкретних стовпців

Ми можемо використовувати наступний синтаксис, щоб видалити рядки з відсутніми значеннями в стовпцях «points» або «bounces»:

 #drop rows with missing values in 'points' or 'rebounds' column
df. dropna (subset = [' points ', ' rebounds '], inplace= True )

#view updated DataFrame
print (df)

  team points assists rebounds
0 A 18.0 5.0 11.0
2 C 19.0 NaN 10.0
3D 14.0 9.0 6.0
4 E 14.0 12.0 6.0
5 F 11.0 9.0 5.0
6G 20.0 9.0 9.0

Зверніть увагу, що два рядки з відсутніми значеннями в стовпцях «points» або «bounces» були видалені з DataFrame.

Примітка . Повну документацію щодо функції pandas dropna() можна знайти тут .

Додаткові ресурси

У наступних посібниках пояснюється, як виконувати інші типові завдання в pandas:

Pandas: як скинути індекс після використання dropna()
Pandas: як видалити стовпці зі значеннями NaN
Pandas: як видалити рядки на основі кількох умов

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

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