Вышел pandas 2.0.0, который был во многом ориентирован на улучшение производительности. Что интересного:
- Если раньше pandas работал только поверх
- Работа с отсутствующими значениями и строками стала эффективнее при использовании
- Copy-on-write - ленивое копирование, при котором реальное копирование данных откладывается до тех пор, пока мы не начнем изменять данные. Это уменьшит количество ошибок, когда меняя данные в срезе мы на самом деле меняем исходный фрейм и при этом не скажется на производительности, когда нам нужно только читать данные
- Числовые индексы теперь могут быть не только 64-х разрядные (
- У datetime и timedelta теперь можно указывать единицу измерения. Если раньше pandas приводил все к наносекундам, теперь можно явно указать что-то типа
Полный список изменений: https://pandas.pydata.org/docs/dev/whatsnew/v2.0.0.html
Более подробно про изменения можно прочитать в статье pandas 2.0 and the Arrow revolution.
https://t.iss.one/tricky_python/118
https://t.iss.one/dataeng/522
#pandas #pandas2 #release #release_notes
- Если раньше pandas работал только поверх
numpy
, теперь можно выбрать в качестве бекенда apache arrow
- Работа с отсутствующими значениями и строками стала эффективнее при использовании
arrow backend
- Copy-on-write - ленивое копирование, при котором реальное копирование данных откладывается до тех пор, пока мы не начнем изменять данные. Это уменьшит количество ошибок, когда меняя данные в срезе мы на самом деле меняем исходный фрейм и при этом не скажется на производительности, когда нам нужно только читать данные
- Числовые индексы теперь могут быть не только 64-х разрядные (
int64
, uint64
, float64
), но и любых других числовых типов - У datetime и timedelta теперь можно указывать единицу измерения. Если раньше pandas приводил все к наносекундам, теперь можно явно указать что-то типа
dtype="datetime64[s]"
Полный список изменений: https://pandas.pydata.org/docs/dev/whatsnew/v2.0.0.html
Более подробно про изменения можно прочитать в статье pandas 2.0 and the Arrow revolution.
https://t.iss.one/tricky_python/118
https://t.iss.one/dataeng/522
#pandas #pandas2 #release #release_notes
datapythonista blog
pandas 2.0 and the Arrow revolution (part I)
Introduction At the time of writing this post, we are in the process of releasing pandas 2.0. The project has a large number of users,...
Pandas устарел?
FireDucks предлагает замену без переписывания кода.
🐼 Pandas - самая популярная библиотека для обработки данных, но она уже давно страдает от низкой производительности.
🐻 Современные альтернативы, такие как Polars, предлагают гораздо более высокую производительность, но переход на новые фреймворки требует изучения нового API, что отталкивает многих разработчиков.
🔥 🦆 FireDucks 🦆 🔥 решает эту проблему, предлагая полную совместимость с Pandas, но с многопоточной обработкой и ускорением работы компилятора. Для перехода достаточно изменить одну строку:
Вы также можете запустить свой код *не* изменяя ни одной строки, используя хук:
FireDucks — это многопоточная библиотека с ускорением компилятора и полностью совместимым с pandas API.
Она быстрее, чем Polars. Ниже приведена ссылка на некоторые бенчмарки, сравнивающие Pandas, Polars и FireDucks.
FireDucks работает быстрее, чем Pandas и Polars, что подтверждается бенчмарками
🔜 Здесь находится репозиторий FireDucks на GitHub:
https://github.com/fireducks-dev/fireducks
⛓️Если вы хотите пощупать либу, откройте этот пример:
https://github.com/fireducks-dev/fireducks/tree/main/notebooks/nyc_demo
➡️ Если вы хотите сравнить FireDucks с Polars и Pandas, вот еще один блокнот:
https://github.com/fireducks-dev/fireducks/blob/main/notebooks/FireDucks_vs_Pandas_vs_Polars.ipynb
💪И наконец, бенчмарки, с которыми стоит ознакомиться:
https://fireducks-dev.github.io/docs/benchmarks/
#pandas #polars #fireducks #de #dataengineer #dataengineering
FireDucks предлагает замену без переписывания кода.
python
import fireducks.pandas as pd
Вы также можете запустить свой код *не* изменяя ни одной строки, используя хук:
python
$ python -mfireducks.imhook yourfile[.]py
FireDucks — это многопоточная библиотека с ускорением компилятора и полностью совместимым с pandas API.
Она быстрее, чем Polars. Ниже приведена ссылка на некоторые бенчмарки, сравнивающие Pandas, Polars и FireDucks.
FireDucks работает быстрее, чем Pandas и Polars, что подтверждается бенчмарками
https://github.com/fireducks-dev/fireducks
⛓️Если вы хотите пощупать либу, откройте этот пример:
https://github.com/fireducks-dev/fireducks/tree/main/notebooks/nyc_demo
https://github.com/fireducks-dev/fireducks/blob/main/notebooks/FireDucks_vs_Pandas_vs_Polars.ipynb
💪И наконец, бенчмарки, с которыми стоит ознакомиться:
https://fireducks-dev.github.io/docs/benchmarks/
#pandas #polars #fireducks #de #dataengineer #dataengineering
Please open Telegram to view this post
VIEW IN TELEGRAM