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