TGViewer
Zen of Python Zen of Python @zen_of_python · 18.8K subscribers
Post #4713 3.9K
Вышел pandas 3.0: строки теперь хранятся через PyArrow (до 70% экономии памяти, до 13x быстрее), а Copy-on-Write стал обязательным.

Что сломается

🔘Цепочечное присваивание больше не работает:
# Было: работало с warning'ом
df["foo"][df["bar"] > 5] = 100

# Стало: молча НЕ работает
# Правильно:
df.loc[df["bar"] > 5, "foo"] = 100


🔘Проверки dtype:
# Было
if df['col'].dtype == object: ...

# Стало
if pd.api.types.is_string_dtype(df['col']): ...


Как мигрировать
1️⃣Обновитесь до pandas 2.3, уберите warnings
3️⃣Включите в тестах: pd.options.future.infer_string = True
3️⃣Найдите dtype == object и цепочечные присваивания
4️⃣Обновляйтесь до 3.0

Требования: Python 3.11+, NumPy 1.26.0+, PyArrow 13.0.0+

Для production лучше подождать пару недель — релиз свежий.

📎 Changelog, GitHub

@zen_of_python
  • 👍 16
  • 🫡 5
  • ❤ 1
  • 🔥 1
More from @zen_of_python
  1. Sep 23, 2026Pyodide разрешил публиковать WASM-колёса прямо в PyPI В Pyodide 314.0 появилась прямая пуб…
  2. Sep 22, 2026Как применять структурное сопоставление с образцом к деревьям в Python Структурное сопоста…
  3. Sep 22, 2026Почему в Python стоит подменять свой интерфейс, а не httpx Если бизнес-тест напрямую подме…
  4. Sep 22, 2026Как точно типизировать *args и **kwargs в Python Запись *args: tuple[int, str] выглядит ка…
  5. Sep 21, 2026Как точечно сравнивать скорость функций Python с tprof Профилировщик помогает найти медлен…
  6. Sep 21, 2026Как писать Python-скрипты, которые удобно запускать в пайплайнах В разборе Bite code! собр…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →