Pandas: как использовать dropna() с определенными столбцами


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

Вот наиболее распространенные способы использования этой функции на практике:

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

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

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

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

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

 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 сохраняется, даже если в ней отсутствует значение, поскольку отсутствующее значение отсутствует в столбце «Помощь».

Пример 2. Удаление строк с пропущенными значениями в одном из нескольких определенных столбцов

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

 #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

Обратите внимание, что две строки с отсутствующими значениями в столбцах «точки» или «отскоки» были удалены из DataFrame.

Примечание . Полную документацию по функции pandas dropna() можно найти здесь .

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи в pandas:

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

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

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