Панды 2.0 уже здесь
Python Pandas 2.0 только что был выпущен, и вот что они добавили и улучшили (это многое изменит)
Если вы работаете в индустрии данных (инженерия данных/наука/мл), возможно, вы уже знаете, что такое Pandas.
Говоря специально о Data Engineering, Pandas раньше вызывал много ненависти, потому что он не дает оптимальной производительности при работе с большим набором данных.
Pandas 2.0 — это шаг в этом направлении, вот 3 основные функции.
Более быстрые и эффективные операции с памятью
Они добавили поддержку pyarrow в бэкэнд.
Серверная часть pyarrow — это новая функция в pandas 2.0, которая позволяет пользователям использовать Apache Arrow в качестве альтернативного формата хранения данных для pandas DataFrames и Series.
Это означает, что когда вы читаете или записываете файлы Parquet в pandas 2.0, он по умолчанию будет использовать pyarrow для обработки данных, что приводит к более быстрым и эффективным операциям с памятью.
Что такое пирроу?
Pyarrow — это библиотека, предоставляющая столбчатый формат памяти, который представляет собой способ организации данных, облегчающий чтение и параллельную обработку.
Таким образом, использование бэкэнда pyarrow в pandas 2.0 может привести к более быстрым и эффективным операциям с данными, особенно при работе с большими наборами данных.
Оптимизация копирования при записи
Подобно Spark и тому, как он выполняет код
Это метод оптимизации памяти, который используется в пандах для повышения производительности и сокращения использования памяти при работе с большими наборами данных.
Идея состоит в том, что когда вы делаете копию объекта pandas, такого как DataFrame или Series, вместо немедленного создания новой копии данных, pandas создаст ссылку на исходные данные и отложит создание новой копии до тех пор, пока вы не измените данные в некотором роде.
Это означает, что если у вас есть несколько копий одних и тех же данных, все они могут ссылаться на одну и ту же память, пока вы не внесете изменения в одну из них. Это может значительно сократить использование памяти и повысить производительность, поскольку вам не нужно делать ненужные копии данных.
В целом, копирование при записи — это мощный метод оптимизации, который может помочь вам работать с большими наборами данных более эффективно и с меньшим объемом памяти.
Индекс теперь может содержать числовые типы NumPy.
Краткое резюме: лучшие индексы, более быстрый доступ и вычисления
Подробности:
Pandas 2.0 позволяет Index хранить любой числовой тип NumPy, включая int8, int16, int32, int64, uint8, uint16, uint32, uint64, float32 и float64.
Ранее поддерживались только типы int64, uint64 и float64.
В результате операции, которые ранее создавали 64-разрядные индексы, теперь могут создавать индексы с более низкими разрядами, например 32-разрядные индексы.
TL;DR
1. В backed добавлена стрелка, что делает операции более быстрыми и эффективными с точки зрения использования памяти.
2. Оптимизация копирования при записи: аналогично Spark и тому, как он выполняет код.
3. Индекс теперь может содержать числовые типы NumPy, что ускоряет операции.
Я также собираюсь добавить учебные пособия по этим функциям в свой курс Python для Data Engineering.
Если вы хотите узнать все о Python для проектирования данных, проверьте
https://learn.datawithdarshil.com/courses/Python-for-Data-Engineering

![В любом случае, что такое связанный список? [Часть 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































