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: как удалить строки на основе нескольких условий