Pandas: як видалити стовпці зі значеннями nan


Ви можете використовувати такі методи, щоб видалити стовпці з pandas DataFrame зі значеннями NaN:

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

 df = df. dropna (axis= 1 )

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

 df = df. dropna (axis= 1 ,how=' all ')

Спосіб 3: видаліть стовпці з мінімальною кількістю значень NaN

 df = df. dropna (axis= 1 ,thresh= 2 )

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

 import pandas as pd
import numpy as np

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'B', 'B', 'B'],
                   ' position ': [np.nan, 'G', 'F', 'F', 'C', 'G'],
                   ' points ': [11, 28, 10, 26, 6, 25],
                   ' rebounds ': [np.nan, np.nan, np.nan, np.nan, np.nan, np.nan]})

#view DataFrame
print (df)

  team position points rebounds
0 A NaN 11 NaN
1 AG 28 NaN
2 AF 10 NaN
3 BF 26 NaN
4 BC 6 NaN
5 BG 25 NaN

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

Наступний код показує, як видалити стовпці зі значеннями NaN:

 #drop columns with any NaN values
df = df. dropna (axis= 1 )

#view updated DataFrame
print (df)

  team points
0 to 11
1 to 28
2 to 10
3 B 26
4 B 6
5 B 25

Зауважте, що стовпці позиції та відскоків було видалено, оскільки вони обидва мали принаймні одне значення NaN.

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

Наступний код показує, як видалити стовпці з усіма значеннями NaN:

 #drop columns with all NaN values
df = df. dropna (axis= 1 ,how=' all ')

#view updated DataFrame
print (df)

  team position points
0 A NaN 11
1 AG 28
2 AF10
3 BF 26
4 BC 6
5 BG 25

Зауважте, що стовпець відмов було видалено, оскільки це був єдиний стовпець із усіма значеннями NaN.

Приклад 3: видаліть стовпці з мінімальною кількістю значень NaN

Наступний код показує, як видалити стовпці з двома чи більше значеннями NaN:

 #drop columns with at least two NaN values
df = df. dropna (axis= 1 ,thresh= 2 )

#view updated DataFrame
print (df)

  team position points
0 A NaN 11
1 AG 28
2 AF10
3 BF 26
4 BC 6
5 BG 25

Зауважте, що стовпець відмов було видалено, оскільки це був єдиний стовпець із принаймні двома значеннями NaN.

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

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

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

Як видалити перший стовпець у Pandas
Як видалити дублікати стовпців у Pandas
Як видалити всі стовпці, крім деяких, у Pandas

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

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