21 января 2026 вышел pandas 3.0.
Вот что реально стоит знать 👇
✔️ Строки теперь — не
objectРаньше строки в pandas =
object.Туда можно было засунуть что угодно. Медленно. Неявно. Больно.
Теперь по умолчанию:
pd.Series(["a", "b"]).dtype
# str
Что это даёт:
— dtype только для строк
— единая семантика пропусков (`NaN`)
— лучше память и производительность
Это давно назревшее исправление архитектурной ошибки.
✔️ Copy-on-Write: конец адскому chained assignment
Главное правило pandas 3.0: любой срез — ведёт себя как копия:
df2 = df[df.a > 0]
df2["b"] = 10 # больше НИКОГДА не меняет df
Что изменилось:
—
SettingWithCopyWarning — удалён— «а тут view или copy?» — больше нет
— модифицируешь объект → модифицируй его напрямую
Под капотом pandas всё ещё оптимизирует память. Но API теперь честный.
✔️
pd.col() — выражения без лямбдБыло:
df.assign(c=lambda df: df.a + df.b)
Стало:
df.assign(c=pd.col("a") + pd.col("b"))
✔️ Arrow C Interface — zero-copy будущее
Pandas теперь:
— умеет принимать Arrow-таблицы
— умеет отдавать их без копирования
df.__arrow_c_stream__()
✔️ Новый порядок депрекейтов
Теперь всё прозрачно:
—
Pandas4Warning → сломается в 4.0—
Pandas5Warning → сломается в 5.0⚠️ Совет: обновитесь сначала до 2.3, уберите warning’и — и только потом идите в 3.0.
🔗 Ссылка на релиз
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека дата-сайентиста
#буст
