pandas dropna subset: какие строки удаляются и почему

df.dropna(subset=[...]) проверяет пропуски только в перечисленных столбцах. По умолчанию строка удаляется, если хотя бы в одном из них есть пропуск. Пропуск в другом столбце сам по себе не является причиной удаления.

Короткий пример

import pandas as pd
df = pd.DataFrame({"name": ["Ann", None, "Bob"], "score": [None, 4, 6]})
clean = df.dropna(subset=["name"])
print(clean["name"].tolist())
print(clean["score"].isna().tolist())

Результат:

['Ann', 'Bob']
[True, False]

С how="all" строка удаляется, только если пусты все проверяемые столбцы. По умолчанию возвращается новая таблица; если хотите сохранить результат, присвойте его переменной. Исходные метки индекса автоматически не перенумеровываются.

Попробуйте самостоятельно

Ниже — отдельная ситуация с другими данными. Выберите ответ и проверьте его без регистрации. Для последовательного обучения откройте курс.

Документация.

DataFrame df имеет столбцы 'a', 'b', 'c'. Строка с индексом 2 содержит пропуски в столбцах 'a' и 'c'; строка с индексом 5 содержит пропуск только в 'b'. Вызывается df.dropna(subset=['a', 'c']). Какие строки будут удалены?

Выберите один вариант
Без регистрации · результат не сохраняется

Связанные задачи