Blog IT, Blog Marketing

Już są! Nowości w Pandas 2.2

Już są! Nowości w Pandas 2.2

Aleksandra Golenia , 16.02.2024 r.

Z artykułu dowiesz się:

  • Co to jest Pandas
  • Co oznacza pojawienie się DataFrame w Pandas 2.2
  • Za co odpowiedzialny jest sterownik Apache ADBC
  • Co zmienia pojawienie się w Pandas 2.2 metody case_when
  • Na czym polega funkcja kopiowania przy zapisie

Co potrafi Pandas?

Pandas to bardzo wszechstronne narzędzie stworzone do współpracy z Pythonem. Pozwala na efektywną pracę z danymi, które mają postać tabelaryczną. Za pomocą Pandas można wczytywać, przetwarzać i analizować dane. To biblioteka, która wykorzystywana jest również do tworzenia raportów i wizualizacji danych. Potrafi więc naprawdę dużo. Porównując możliwości Pandas do ręcznej pracy analityka danych, możemy wnioskować, że z jego pomocą specjalista jest w stanie zaoszczędzić nawet do 80% czasu.

Za pomocą biblioteki Pandas możemy więc m.in. załatować dane z plików o takich formatach, jak CSV, Excel, JSON, ale też wiele innych. Poza tym możliwe jest załadowanie danych bezpośrednio z baz danych. Pandas pozwala na wyczyszczenie danych i przygotowanie ich do dalszej analizy. Wyniki można z łatwością zwizualizować i zaprezentować je w przejrzysty sposób. Co więcej, Pandas oferuje też szereg podstawowych funkcji, jak grupowanie danych i tworzenie tabeli przestawnych.

Bardzo często Pandas jest nazywane szwajcarskim scyzorykiem analizy danych. Jest niezwykle precyzyjny i ma wiele zastosowań. Trzeba jednak pamiętać o jednej ważnej zasadzie. Pliki z danymi muszą zmieścić się na komputerze i dodatkowo mieć postać tabeli. Tylko wtedy można uruchomić Pythona, który posiada bibliotekę Pandas i tym samym otworzyć dane.

Pierwsze wydanie Pandas ukazało się w 2008 roku i zostało stworzone przez dewelopera Wesa McKinneya. To był ogromny sukces, na którym jednak nie poprzestano. Biblioteka z każdym kolejnym rokiem jest udoskonalana i pojawiają się w niej nowe funkcjonalności. Chodzi o przystosowanie jej do zmieniających się standardów i postępu technologicznego. Jeśli tylko pojawia się jakaś możliwość ulepszenia narzędzia, aż żal jest z niej nie skorzystać.

Tak też było z początkiem tego roku, kiedy pojawiła się wersja Pandas 2.2 z nowymi funkcjami. Zmiany są bardzo przemyślane, chociaż nie można mówić o spektakularnych rewolucjach. Nie o to jednak chodzi. Najważniejsze, że biblioteka jest teraz jeszcze bardziej intuicyjna i komfortowa w użytkowaniu.

Sprawniejsza obsługa PyArrow w Pandas 2.2

W Pandas 2.2 pojawiło się DataFrame, które jest wspierane przez PyArrow. Głównym tego założeniem jest sprawna integracja z API pand. Ma to też związek z tym, że Pandas ma dostępy do konkretnych typów d, dzięki czemu możliwe jest wykonywanie wysoko wyspecjalizowanych operacji. Wcześniej struktury prezentowane były jako typy d obiektu NumPy. Praca z nimi przez to nie była łatwa, dlatego postanowiono wprowadzić zmiany. Po wdrożonych usprawnieniach można bez problemu dostosować metody dostępu do list i struktur, przez co praca z obiektami jest zdecydowanie łatwiejsza.

Sterownik Apache ADBC

Kolejną ważną zmianą w Pandas 2.2 jest integracja sterownika Apache ADBC. Ale właściwie w jakim celu? Wcześniej Alchemy wykorzystywano do odczytywania danych z bazy danych SQL. Sprawdzało się to całkiem dobrze, jednak cały proces trwał bardzo długo. Czym właściwie różni się więc proces odczytywania danych przez Alchemy od odczytu przez Pandas?

Alchemy odczytują dane w wierszach. Pandas z kolei ma układ kolumnowy, przez co odczytywanie i przenoszenie danych do DataFrame jest po prostu wolniejsze. No właśnie, dlatego postanowiono wprowadzić do Pandas 2.2 sterownik Apache ADBC. Pozwala on na odczyt danych w układzie kolumnowym. Pandas odczytuje dane i zapisuje je w tabeli Arrow. Aktualnie sterownik ADBC obsługuje Postgres i Sqlite. Korzystanie ze sterownika znacznie przyspiesza cały proces i gwarantuje jego niezawodność.

case_when w Pandas 2.2

Po raz kolejny Pandas warto porównać do SQL. W tym drugim przypadku istnieje składnia przypadku, dzięki której możliwe jest łatwe warunkowe tworzenie nowych kolumn. W Pandas 2.2 znalazło się miejsce dla cane_when, czyli metody, która ma działać podobnie jak SQL. W praktyce wygląda to następująco:

  • Metoda pobiera listę warunków
  • Warunki oceniane są sekwencyjnie
  • Powstaje nowy obiekt w tymi wartościami w wierszach z warunkiem o wartości True

Funkcja kopiowania przy zapisie

Nie jest to do końca nowość, ponieważ funkcja kopiowania przy zapisie znajdowała się już w Pandas 1.5.0. W tym celu kod musi zostać doprowadzony do stanu zgodnego z regułami Copy-on-Write. A co do nowości, to w Pandas 2.2 pojawiło się ostrzeżenie o wycofaniu operacji zmieniających zachowanie.

To dobra wiadomość dla fanów Pandas. Ci, którzy korzystają z tej biblioteki, na pewno dostrzegą zmiany i potwierdzą, że są one na plus. Jeśli Pandas jest Ci dobrze znane, to może już zdążyłeś dostrzec nowe funkcje. Jeśli dopiero planujesz przygodę z tą biblioteką, będziesz pozytywnie zaskoczony.

Najnowsze oferty pracy:

Polecane wpisy na blogu IT:

Szukasz pracownika IT?

Dostarczymy Ci najlepszych specjalistów z branży IT. Wyślij zapytanie

Wyrażam zgodę TeamQuest Sp. z o.o. na przetwarzanie moich danych osobowych w celu marketingu produktów i usług własnych TeamQuest, w tym na kontaktowanie się ze mną w formie połączenia telefonicznego lub środkami elektronicznymi.
Administratorem podanych przez Ciebie danych osobowych jest TeamQuest Sp. z o.o., z siedzibą w Warszawie (00-814), ul. Miedziana 3a/21, zwana dalej „Administratorem".
Jeśli masz jakiekolwiek pytania odnośnie przetwarzania przez nas Twoich danych, skontaktuj się z naszym Inspektorem Ochrony Danych (IOD). Do Twojej dyspozycji jest pod adresem e-mail: office@teamquest.pl.
W jakim celu i na jakiej podstawie będziemy wykorzystywać Twoje dane? Dowiedz się więcej