Pandas: как удалить столбцы со значениями nan


Вы можете использовать следующие методы для удаления столбцов из DataFrame pandas со значениями 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 )

В следующих примерах показано, как использовать каждый метод на практике со следующим DataFrame pandas:

 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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *