df.shape
df.dropna(subset=['amount']).shape
Результат:
(5000, 6) (4850, 6)
clean = df.dropna(thresh=4)
clean.shape
Результат:
(4980, 6)
df.dropna(how='all').shape
Результат:
(4998, 6)Порешать Python-задачи в тренажёре →
Применяют перед агрегатами и обучением моделей, чтобы убрать битые записи, но обычно с subset — чтобы не удалять строку из-за пропуска в неважной колонке. На собеседовании уточняют разницу how='any' и how='all'.
how='any' удаляет строку при любом пропуске, а how='all' — только если пропущены все значения в строке. По умолчанию стоит 'any', что агрессивнее. how='all' удобен, когда надо убрать лишь целиком пустые строки.
Передайте subset со списком колонок, например subset=['amount']. Тогда строка удаляется, только если пропуск именно там, а пропуски в других колонках игнорируются. Это самый частый и безопасный сценарий.
thresh задаёт минимальное число непустых значений, которое строка должна иметь, чтобы остаться. Например, thresh=4 сохранит строки, где заполнено хотя бы 4 колонки. thresh нельзя комбинировать с how — работает что-то одно.
Pandas: основы · NumPy векторизация
groupby · merge · pivot_table · apply · value_counts · drop_duplicates
Открыть Python-тренажёр (556 задач) →