copy(deep=True) создаёт независимую копию данных (по возможности); нужен, чтобы избежать SettingWithCopy и побочных мутаций views после среза.
Разбор
- Срезы могут быть view или copy — поведение зависит от версии/CoW.
- Явный copy после фильтра перед записью — безопасная привычка.
- Deep copy дороже по памяти.
- Copy-on-Write в новых Pandas меняет модель — читайте release notes.
Итог
copy фиксирует независимость объекта при дальнейших присваиваниях.