pandas 2.0 and the Arrow revolution (part I)
Революция Arrow особенно важна для пользователей библиотеки pandas. Ранее DataFrame в pandas сохранялся в оперативной памяти, и рекомендуемое соотношение объема оперативной памяти к размеру набора данных было примерно 5-10 раз в 2017 году. Однако с улучшением pandas это соотношение стало около 2 раз.
Это означает, что пользователи могут обрабатывать наборы данных, занимающие до 8 ГБ оперативной памяти на 16-гигабайтной машине. Однако, объем 8 ГБ оперативной памяти в pandas значительно отличается от ожидаемого. Ранее строковые столбцы в pandas сохранялись как объекты, что было чрезвычайно неэффективно. Новый тип столбца строковых данных [pyarrow] более эффективен примерно в 3,5 раза, как показывают исследования.
Допустим, пользователь pandas может обрабатывать набор строковых данных размером 2 ГБ на диске (8 ГБ в памяти) на своей 16-гигабайтной машине для определенного анализа. Если его набор данных вырастет до 3 ГБ, то произойдет ошибка из-за нехватки оперативной памяти.
Однако с использованием более эффективного типа столбца строковых данных пользователь может обрабатывать наборы данных размером до 7 ГБ (в 3,5 раза больше), что является большой новостью для многих пользователей pandas.
#pandas #arrow #python #de
Революция Arrow особенно важна для пользователей библиотеки pandas. Ранее DataFrame в pandas сохранялся в оперативной памяти, и рекомендуемое соотношение объема оперативной памяти к размеру набора данных было примерно 5-10 раз в 2017 году. Однако с улучшением pandas это соотношение стало около 2 раз.
Это означает, что пользователи могут обрабатывать наборы данных, занимающие до 8 ГБ оперативной памяти на 16-гигабайтной машине. Однако, объем 8 ГБ оперативной памяти в pandas значительно отличается от ожидаемого. Ранее строковые столбцы в pandas сохранялись как объекты, что было чрезвычайно неэффективно. Новый тип столбца строковых данных [pyarrow] более эффективен примерно в 3,5 раза, как показывают исследования.
Допустим, пользователь pandas может обрабатывать набор строковых данных размером 2 ГБ на диске (8 ГБ в памяти) на своей 16-гигабайтной машине для определенного анализа. Если его набор данных вырастет до 3 ГБ, то произойдет ошибка из-за нехватки оперативной памяти.
Однако с использованием более эффективного типа столбца строковых данных пользователь может обрабатывать наборы данных размером до 7 ГБ (в 3,5 раза больше), что является большой новостью для многих пользователей pandas.
#pandas #arrow #python #de
🔥2
Pandas устарел?
FireDucks предлагает замену без переписывания кода.
🐼 Pandas - самая популярная библиотека для обработки данных, но она уже давно страдает от низкой производительности.
🐻 Современные альтернативы, такие как Polars, предлагают гораздо более высокую производительность, но переход на новые фреймворки требует изучения нового API, что отталкивает многих разработчиков.
🔥 🦆 FireDucks 🦆 🔥 решает эту проблему, предлагая полную совместимость с Pandas, но с многопоточной обработкой и ускорением работы компилятора. Для перехода достаточно изменить одну строку:
FireDucks работает быстрее, чем Pandas и Polars, что подтверждается бенчмарками
🔜 FireDucks github
➡️ Сравнение с Polars и Pandas:
#pandas #polars #fireducks #de #dataengineer #dataengineering
FireDucks предлагает замену без переписывания кода.
import fireducks.pandas as pd
FireDucks работает быстрее, чем Pandas и Polars, что подтверждается бенчмарками
#pandas #polars #fireducks #de #dataengineer #dataengineering
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥7