Pandy 2.0 są tutaj

Feb 27 2023
Python Pandas 2.0 właśnie został wydany i oto, co dodali i ulepszyli (to zmieni wiele rzeczy) Jeśli pracujesz w branży danych (inżynieria danych/nauka/ml) możesz już wiedzieć, o czym Pandas mówi specjalnie o danych Inżynieria, Pandas była kiedyś bardzo hejtowana, ponieważ nie zapewnia optymalnej wydajności podczas pracy z dużym zestawem danych.

Python Pandas 2.0 właśnie został wydany i oto, co dodali i ulepszyli (to zmieni wiele rzeczy)

Zdjęcie Pascala Müllera na Unsplash

Jeśli pracujesz w branży danych (inżynieria danych/nauka/ml), być może już wiesz, czym jest Pandas

Mówiąc szczególnie o inżynierii danych, Pandy były często hejtowane, ponieważ nie zapewniają optymalnej wydajności podczas pracy z dużymi zbiorami danych.

Pandas 2.0 to krok w tym kierunku, oto 3 najważniejsze funkcje

Szybsze i bardziej efektywne pod względem pamięci operacje

Dodali obsługę pyarrow w backendzie.

Backend pyarrow to nowa funkcja w pandas 2.0, która pozwala użytkownikom używać Apache Arrow jako alternatywnego formatu przechowywania danych dla pand DataFrames i Series.

Oznacza to, że podczas odczytywania lub zapisywania plików Parquet w pandas 2.0 będzie on domyślnie używał pyarrow do obsługi danych, co skutkuje szybszymi i bardziej wydajnymi operacjami.

Co to jest piarrow?
Pyarrow to biblioteka zapewniająca kolumnowy format pamięci, który jest sposobem organizowania danych, który ułatwia ich równoległe czytanie i przetwarzanie.

Podsumowując, użycie backendu pyarrow w pandas 2.0 może skutkować szybszymi i wydajniejszymi pod względem pamięci operacjami na danych, zwłaszcza podczas pracy z dużymi zbiorami danych.

Wsparcie PyArrow

Optymalizacja kopiowania przy zapisie

Podobny do Spark i jak wykonuje kod

Jest to technika optymalizacji pamięci używana w pandach w celu poprawy wydajności i zmniejszenia zużycia pamięci podczas pracy z dużymi zbiorami danych.

Pomysł polega na tym, że kiedy tworzysz kopię obiektu pandas, takiego jak DataFrame lub Series, zamiast natychmiast tworzyć nową kopię danych, pandy utworzą odniesienie do oryginalnych danych i odłożą utworzenie nowej kopii, dopóki nie zmodyfikujesz dane w jakiś sposób.

Oznacza to, że jeśli masz wiele kopii tych samych danych, wszystkie mogą odwoływać się do tej samej pamięci, dopóki nie wprowadzisz zmiany w jednej z nich. Może to znacznie zmniejszyć zużycie pamięci i poprawić wydajność, ponieważ nie trzeba wykonywać zbędnych kopii danych.

Ogólnie rzecz biorąc, kopiowanie przy zapisie to potężna technika optymalizacji, która może pomóc w wydajniejszej pracy z dużymi zbiorami danych i przy mniejszej ilości pamięci.

Kopiuj przy zapisie

Indeks może teraz przechowywać typy numeryczne NumPy

Szybkie podsumowanie: lepsze indeksy, szybszy dostęp i obliczenia

Szczegóły:
Pandas 2.0 umożliwia indeksowi przechowywanie dowolnego typu numerycznego NumPy, w tym int8, int16, int32, int64, uint8, uint16, uint32, uint64, float32 i float64.

Wcześniej obsługiwane były tylko typy int64, uint64 i float64.

W rezultacie operacje, które wcześniej tworzyły indeksy 64-bitowe, mogą teraz tworzyć indeksy o mniejszych rozmiarach bitowych, takie jak indeksy 32-bitowe.

Indeks NumPy

TL;DR
1. Dodano pyarrow w kopii zapasowej, co skutkuje szybszymi i wydajniejszymi operacjami pamięci.
2. Optymalizacja kopiowania przy zapisie: podobna do Spark i sposobu, w jaki wykonuje kod
3. Indeks może teraz przechowywać typy numeryczne NumPy, co przyspiesza operacje

Zamierzam również dodać samouczki dotyczące tych funkcji w moim kursie Python for Data Engineering.

Jeśli chcesz dowiedzieć się wszystkiego o Python for Data Engineering, sprawdź

https://learn.datawithdarshil.com/courses/Python-for-Data-Engineering