Samouczek Pandas w Pythonie

Samouczek Pandas w Pythonie
W tej lekcji na temat biblioteki Python Pandy przyglądamy się różnym strukturom danych, który ten pakiet Python zapewnia funkcjonalność przetwarzania danych, które są wydajne dla danych dynamicznych i zarządzania złożonymi operacjami w zakresie wielowymiarowych danych. W tej lekcji będziemy głównie omówić:
  • Co to jest pakiet pandas
  • Instalacja i rozpoczęcie pracy
  • Ładowanie danych z CSVS do pandas DataFrame
  • Co to jestframe i jak to działa
  • Krojenie ram danych
  • Operacje matematyczne nad DataFrame

To wygląda na wiele do omówienia. Zacznijmy już teraz.

Co to jest pakiet Python Pandas?

Według strony głównej Pandy: Pandy jest open source, biblioteka licencji BSD, zapewniająca wysokowydajne, łatwe w użyciu struktury danych i narzędzia do analizy danych dla języka programowania Python.

Jedną z najfajniejszych rzeczy w pandach jest to, że czytanie danych z wspólnych formatów danych, takich jak CSV, SQL itp. Bardzo łatwe, co czyni go równie użytecznym w aplikacjach o klasie produkcyjnej lub tylko niektóre aplikacje demo.

Zainstaluj Python Pandas

Tylko notatka przed rozpoczęciem procesu instalacji używamy wirtualnego środowiska do tej lekcji, którą wykonaliśmy za pomocą następującego polecenia:

Python -m Virtualenv pandy
Źródło pandy/bin/aktywuj

Po aktywności środowiska wirtualnego możemy zainstalować bibliotekę pandy w wirtualnej Env, aby można było wykonać przykłady następne:

PIP instaluj pandy

Lub możemy użyć CDA do instalacji tego pakietu za pomocą następującego polecenia:

CDADA zainstaluj pandy

Widzimy coś takiego, kiedy wykonujemy powyższe polecenie:

Po zakończeniu instalacji z CONDA będziemy mogli użyć pakietu w naszych skryptach Python jako:

importować pandy jako PD

Zacznijmy używać pand w naszych skryptach.

Czytanie pliku CSV z panami DataFrame

Czytanie pliku CSV jest łatwe z pandy. Do demonstracji zbudowaliśmy mały plik CSV z następującą treścią:

Nazwa, Rollno, data wstępu, kontakt awaryjny
Shubham, 1,20-05-2012 99988776655
Gagan, 2,20-05-2009,8364517829
Oshima, 3,20-05-2003 5454223344
Vyom, 4,20-05-2009,1223344556
Ankur, 5,20-05-1999999988776655
Vinod, 6,20-05-1999999988776655
Vipin, 7,20-05-2002 99888776655
Ronak, 8,20-05-2007,1223344556
DJ, 9,20-05-2014 99888776655
VJ, 10,20-05-2015 99888776655

Zapisz ten plik w tym samym katalogu co skrypt Python. Po przedstawieniu pliku dodaj następujący fragment kodu w pliku Python:

importować pandy jako PD
Studenci = PD.read_csv („Uczniowie.CSV ”)
studenci.głowa()

Po uruchomieniu powyższego fragmentu kodu zobaczymy następujące dane wyjściowe:

Do pokazania próbki danych obecnych w danych danych można użyć funkcji Head (). Poczekaj, DataFrame? W następnej sekcji zbadamy znacznie więcej na tematFrame, ale po prostu zrozumiemy, że struktura danych N-Dimensional, którą można użyć do przechowywania i analizy lub złożonych operacji w zestawie danych danych.

Możemy również zobaczyć, ile wierszy i kolumn mają bieżące dane:

studenci.kształt

Po uruchomieniu powyższego fragmentu kodu zobaczymy następujące dane wyjściowe:

Zauważ, że pandy liczą również liczbę wierszy od 0.

Możliwe jest uzyskanie tylko kolumny na liście z pandy. Można to zrobić z pomocą indeksowanie w pandy. Spójrzmy na ten sam fragment kodu:

student_names = studenci [„Nazwa”]
Student_names

Po uruchomieniu powyższego fragmentu kodu zobaczymy następujące dane wyjściowe:

Ale to nie wygląda jak lista, prawda?? Musimy wyraźnie wywołać funkcję, aby przekonwertować ten obiekt na listę:

Student_names = Student_names.notować()
Student_names

Po uruchomieniu powyższego fragmentu kodu zobaczymy następujące dane wyjściowe:

Aby uzyskać dodatkowe informacje, możemy upewnić się, że każdy element na liście jest wyjątkowy i wybieramy jedynie elementy nie puste, dodając kilka prostych kontroli, takich jak:

student_names = studenci [„Nazwa”].Dropna ().unikalny().notować()

W naszym przypadku wyjście nie zmieni się, ponieważ lista już nie zawiera żadnych wartości faul.

Możemy również stworzyć ramkę danych z surowymi danymi i przekazać nazwy kolumn wraz z nimi, jak pokazano w następującym fragmencie kodu:

my_data = pd.Ramka danych(
[[[
[1, „Chan”],
[2, „Smith”],
[3, „Winslet”]
],
kolumny = [„ranga”, „nazwisko”]
)
moje dane

Po uruchomieniu powyższego fragmentu kodu zobaczymy następujące dane wyjściowe:

Krojenie ram danych

Rozbicie ram danych w celu wyodrębnienia tylko wybranych wierszy i kolumn jest ważną funkcją, aby zwrócić uwagę na wymagane części danych, których musimy użyć. W tym celu Pandy pozwala nam pokroić w ramce danych w razie potrzeby z instrukcjami takimi jak:

  • ILOC [: 4:] - Wybiera pierwsze 4 wiersze i wszystkie kolumny dla tych wierszy.
  • ILOC [:,:] - Wybrano pełną ramkę danych
  • ILOC [5 :, 5:] - wiersze od pozycji 5 i kolumny od pozycji 5.
  • ILOC [:, 0] - Pierwsza kolumna i wszystkie wiersze dla kolumny.
  • ILOC [9:] - 10. rząd i wszystkie kolumny dla tego rzędu.

W poprzedniej sekcji widzieliśmy już indeksowanie i krojenie z nazwami kolumn zamiast indeksów. Możliwe jest również mieszanie krojenia z numerami indeksu i nazw kolumn. Spójrzmy na prosty fragment kodu:

studenci.loc [: 5, „nazwa”]

Po uruchomieniu powyższego fragmentu kodu zobaczymy następujące dane wyjściowe:

Możliwe jest określenie więcej niż jednej kolumny:

studenci.loc [: 5, [„Nazwa”, „kontakt awaryjny”]]

Po uruchomieniu powyższego fragmentu kodu zobaczymy następujące dane wyjściowe:

Struktura danych szeregowych w pandy

Podobnie jak pandy (która jest wielowymiarową strukturą danych), seria jest strukturą danych jednowymiarowych w pandy. Kiedy odzyskujemy pojedynczą kolumnę z ramki danych, faktycznie pracujemy z serią:

Typ (uczniowie [„Nazwa”])

Po uruchomieniu powyższego fragmentu kodu zobaczymy następujące dane wyjściowe:

Możemy również zbudować własną serię, oto fragment kodu dla tego samego:

seria = pd.Seria ([„Shubham”, 3.7])
seria

Po uruchomieniu powyższego fragmentu kodu zobaczymy następujące dane wyjściowe:

Jak wyczyścił z powyższego przykładu, seria może zawierać wiele typów danych również dla tej samej kolumny.

Filtry logiczne w Pandy DataFrame

Jedną z dobrych rzeczy w pandaach jest to, jak wyodrębniają dane z ramki danych na podstawie stanu. Jak wyodrębnienie uczniów tylko wtedy, gdy liczba rzutu jest większa niż 6:

Roll_filter = studenci ['rollno']> 6
Roll_filter

Po uruchomieniu powyższego fragmentu kodu zobaczymy następujące dane wyjściowe:

Cóż, nie tego się spodziewaliśmy. Chociaż wyjście jest dość wyraźne, które wiersze zaspokoją dostarczony filtr, ale nadal nie mamy dokładnych wierszy, które zaspokoiły ten filtr. Okazuje się, że Możemy używać filtrów jako indeksów danych danych również:

Uczniowie [Roll_filter]

Po uruchomieniu powyższego fragmentu kodu zobaczymy następujące dane wyjściowe:

Możliwe jest użycie wielu warunków w filtrze, aby dane mogły być filtrowane na jednym zwięzłym filtrze, na przykład:

Next_filter = (studenci ['rollno']> 6) i (studenci ['imienia']> 's')
Uczniowie [Next_filter]

Po uruchomieniu powyższego fragmentu kodu zobaczymy następujące dane wyjściowe:

Obliczanie mediany

W ramce danych możemy również obliczyć wiele funkcji matematycznych. Damy dobry przykład obliczania mediany. Mediana zostanie obliczona dla daty, a nie tylko dla liczb. Spójrzmy na ten sam fragment kodu:

Daty = studenci [„Data przyjęcia”].Astype („DateTime64 [ns]”).kwantyl (.5)
Daktyle

Po uruchomieniu powyższego fragmentu kodu zobaczymy następujące dane wyjściowe:

Osiągnęliśmy to, najpierw indeksując kolumnę daty, którą mamy, a następnie podając typ danych do kolumny, aby pandy mogły poprawnie ją wnioskować, gdy stosują funkcję kwantową do obliczenia daty mediany.

Wniosek

W tej lekcji przyjrzeliśmy się różnym aspektom biblioteki przetwarzania pandy, które możemy użyć z Pythonem do gromadzenia danych z różnych źródeł w strukturę danych danych, która pozwala nam wyrafinować na zestawie danych. Pozwala nam również uzyskać podstanie danych, nad którymi chcemy pracować na chwilę i zapewnia wiele operacji matematycznych.

Udostępnij swoją opinię na temat lekcji na Twitterze z @SBMaggarwal i @linuxhint.