5 najważniejszych funkcji pand niezbędnych dla naukowców zajmujących się danymi [2022]
Opublikowany: 2021-01-02Pandas jest wyraźnie jedną z najczęściej używanych i lubianych bibliotek, jeśli chodzi o naukę danych i analizę danych w Pythonie. Co sprawia, że jest wyjątkowy? W tym samouczku omówimy 5 takich funkcji, które czynią Pandy niezwykle użytecznym narzędziem w zestawie narzędzi Data Scientist.
Pod koniec tego samouczka poznasz poniższe funkcje w Pandach i jak ich używać w swoich aplikacjach:
- value_counts
- Grupuj według
- loc i iloc
- wyjątkowy i niepowtarzalny
- Wytnij i qcut
Spis treści
Najlepsze funkcje pandy dla naukowców zajmujących się danymi
1. liczba_wartości()
Funkcja value_counts() Pandy służy do pokazywania liczby wszystkich unikalnych elementów w kolumnach ramki danych.
Wskazówka dla profesjonalistów: Aby to zademonstrować, użyję zestawu danych Titanic.
Teraz, aby znaleźć liczbę klas w funkcji Embarked, możemy wywołać funkcję value_counts:
trenuj[ 'Wsiada' ].value_counts() |
#Wyjście: S 644 C 168 P 77 |
Ponadto, jeśli te liczby nie mają większego sensu, możesz zamiast tego wyświetlić ich wartości procentowe:
trenuj[ 'Wsiada' ].value_counts(normalize= True ) |
#Wyjście: S 0.724409 C 0,188976 Q 0,086614 |
Co więcej, value_counts domyślnie nie uwzględnia NaN ani brakujących wartości, co jest bardzo istotne do sprawdzenia. Aby to zrobić, możesz ustawić parametr dropna jako false.
train[ 'Wsiada' ].value_counts(dropna= False ) |
#Wyjście: S 644 C 168 P 77 NaN 2 |
2. group_by()
Dzięki Pandas group_by możemy podzielić i pogrupować naszą ramkę danych według określonych kolumn, aby móc wyświetlać wzorce i szczegóły danych. Group_by obejmuje 3 główne kroki: dzielenie, nakładanie i łączenie.
train.groupby( 'Seks' ).mean() |
Wyjście:
Jak widać, pogrupowaliśmy ramkę danych według funkcji „płeć” i zagregowaliśmy za pomocą środków.
Możesz go również wykreślić za pomocą wbudowanej wizualizacji Pandy:
df.groupby( 'Płeć' ).sum().plot(rodzaj= 'bar' ) |
Możemy również grupować, używając wielu funkcji do podziału hierarchicznego.
df.groupby([ 'Płeć' , 'Przeżył' ] )[ 'Przeżył' ].count() |
Musisz przeczytać: Pytania do wywiadu z Pandami
3. loc i iloc
Indeksowanie w Pandas jest jedną z najbardziej podstawowych operacji, a najlepszym sposobem na to jest użycie loc lub iloc. „Loc” oznacza lokalizację, a „i” oznacza zaindeksowaną lokalizację. Innymi słowy, jeśli chcesz zindeksować ramkę danych za pomocą nazw lub etykiet kolumn/wierszy, użyjesz loc. A kiedy chcesz indeksować kolumny lub wiersze za pomocą pozycji, użyj funkcji iloc. Sprawdźmy najpierw loc .
train.loc[ 2 , 'płeć' ] |
Powyższa operacja daje nam element wiersza indeksu 2 i kolumny 'płeć'. Podobnie, gdybyś potrzebował wszystkich wartości z kolumny płci, zrobiłbyś:
pociąg.loc[:, 'płeć' ] |
Możesz także odfiltrować wiele kolumn, takich jak:
train.loc[:, 'płeć' , 'Wsiadam' ] |
Możesz także odfiltrować za pomocą warunków logicznych w loc, takich jak:
pociąg.loc[wiek.pociągu >= 25 ] |
Aby wyświetlić tylko niektóre wiersze, możesz podzielić ramkę danych za pomocą loc:
pociąg.loc[ 100 : 200 ] |
Co więcej, możesz podzielić ramkę danych na osi kolumny jako:
train.loc[:, 'sex' : 'taryfa' ] |
Powyższa operacja podzieli ramkę danych z kolumny „płeć” na „opłata” dla wszystkich wierszy.
Przejdźmy teraz do iloc. iloc indeksuje tylko przy użyciu numerów indeksu lub pozycji. Możesz wycinać ramki danych, takie jak:
pociąg.iloc[ 100 : 200 , 2 : 9 ] |
Powyższe operacje podzielą wiersze od 100 do 199, a kolumny od 2 do 8. Podobnie, jeśli chcesz podzielić dane w poziomie, możesz:
pociąg.iloc[: 300 , :] |
4. Unikalne() i Unikalne()
Pandas unique służy do uzyskiwania wszystkich unikalnych wartości z dowolnej funkcji. Jest to używane głównie w celu uzyskania kategorii w cechach kategorialnych w danych. Unique pokazuje wszystkie unikalne wartości, w tym NaNs. Traktuje to jako inną unikalną wartość. Spójrzmy:
pociąg[ 'seks' ].unikalne() |
#Wyjście: [ 'kobieta' , 'mężczyzna' ] |
Jak widzimy, daje nam to wyjątkowe wartości w funkcji „seks”.
Podobnie można również sprawdzić liczbę unikalnych wartości, ponieważ w niektórych funkcjach może być wiele unikalnych wartości.
pociąg[ 'seks' ].nunique() |

#Wyjście: 2 |
Należy jednak pamiętać, że nunique() nie traktuje NaNs jako unikalnych wartości. Jeśli w Twoich danych są jakieś NaN, musisz przekazać parametr dropna jako False, aby upewnić się, że Pandas podaje liczbę, w tym również NaN.
train[ 'sex' ].nunique(dropna= False ) |
#Wyjście: 3 |
5. cut() i qcut()
Cięcie pandy służy do dzielenia wartości w przedziałach w celu dyskretyzacji cech. Zanurzmy się w to. Binning oznacza konwersję cechy numerycznej lub ciągłej na dyskretny zestaw wartości, w oparciu o zakresy wartości ciągłych. Jest to przydatne, gdy chcesz zobaczyć trendy w oparciu o zakres, w którym znajduje się punkt danych.
Zrozummy to na małym przykładzie.
Załóżmy, że mamy oceny dla 7 dzieci w przedziale od 0 do 100. Teraz możemy przypisać oceny każdego dziecka do konkretnego „kosza”.
df = pd.Ramka danych(dane= { 'Nazwa' : [ 'Ck' , 'Ron' , 'Mat' , 'Josh' , 'Tim' , 'SypherPK' , 'Dw ' , 'Vin' ], 'Znaki' :[ 37 , 91 , 66 , 42 , 99 , 81 , 45, 71 ] }) df[ 'znaczniki_bin' ] = pd.cut(df[ 'Znaki' ], bins=[ 0 , 50 , 70 , 100 ], label=[ 1 , 2 , 3 ]) |
Następnie możemy po prostu dołączyć dane wyjściowe jako nową funkcję, a funkcja Marks może zostać usunięta. Nowa ramka danych wygląda mniej więcej tak:
#Wyjście: Oznaczenia nazw mark_bin 0 C 37 1 1 ron 91 3 2 Mat 66 2 3 Josha 42 1 4 Tim 99 3 5 SypherPK 81 3 6 Rosa 45 1 7 Vin 71 3 |
Tak więc, kiedy mówię bins = [ 0 , 50 , 70 , 100 ] , oznacza to, że istnieją 3 zakresy:
0 do 50 dla pojemnika 1,
51 do 70 dla pojemnika 2 i
71 do 100 należących do pojemnika 3.
Więc teraz nasza funkcja nie zawiera ocen, ale zakres lub przedział, w którym znajdują się oceny dla tego ucznia.
Podobnie jak cut(), Pandas oferuje również swoją bratnią funkcję o nazwie qcut() . Pandas qcut pobiera liczbę kwantylów i dzieli punkty danych na każdy pojemnik na podstawie rozkładu danych. Możemy więc po prostu zmienić funkcję cut w powyższym na qcut:
df[ 'znaczniki_bin' ] = pd.qcut(df[ 'Znaki' ], q= 3 , etykiety=[ 1 , 2 , 3 ]) |
W powyższej operacji mówimy Pandom, aby podzieliły obiekt na 3 równe części i przypisał im etykiety. Dane wyjściowe mają postać:
Oznaczenia nazw mark_bin 0 C 37 1 1 ron 91 3 2 Mat 66 2 3 Josha 42 1 4 Tim 99 3 5 SypherPK 81 3 6 Rosa 45 1 7 Vin 71 2 |
Zwróć uwagę, jak ostatnia wartość zmieniła się z 3 na 2.
Przeczytaj także: Pandas Dataframe Astype
Zanim pójdziesz
Widzieliśmy kilka najczęściej używanych funkcji Pandy. Ale to nie jedyne, które są ważne i zachęcamy do zapoznania się z najczęściej używanymi funkcjami Pand. Jest to dobre i wydajne podejście, ponieważ możesz nie korzystać ze wszystkich funkcji Pandy, ale tylko z kilku z nich.
Ucz się kursów nauki o danych z najlepszych światowych uniwersytetów. Zdobywaj programy Executive PG, Advanced Certificate Programs lub Masters Programs, aby przyspieszyć swoją karierę.
Dlaczego biblioteka Pandy jest tak popularna?
Ta biblioteka jest rzeczywiście dość popularna wśród naukowców zajmujących się danymi i analityków danych. Powodem tego jest świetna obsługa dużej liczby formatów plików i bogaty zestaw funkcji do manipulowania wyodrębnionymi danymi. Można go łatwo zintegrować z innymi bibliotekami i pakietami, takimi jak NumPy.
Ta potężna biblioteka zapewnia różne przydatne funkcje do elastycznego manipulowania ogromnymi zestawami danych. Gdy już to opanujesz, możesz z łatwością wykonywać wspaniałe zadania za pomocą kilku linijek kodu.
Co to jest funkcja scalania i dlaczego jest używana?
Funkcja scalania to specjalna funkcja ramki danych Pandy, która służy do scalania wielu wierszy lub kolumn dwóch ramek danych. Jest to operacja łączenia o dużej ilości pamięci i przypomina relacyjne bazy danych. Możesz użyć on = Nazwa kolumny, aby scalić ramki danych we wspólnej kolumnie.
Można zaktualizować left_on = Nazwa kolumny lub right_on = Nazwa kolumny, aby wyrównać tabele, używając jako kluczy kolumn z lewej lub prawej ramki danych.
Jakie są inne biblioteki Pythona do nauki o danych poza biblioteką Pandas?
Oprócz biblioteki Pandas istnieje wiele bibliotek Pythona, które są uważane za jedne z najlepszych bibliotek do nauki o danych. Należą do nich PySpark, TensorFlow, Matplotlib, Scikit Learn, SciPy i wiele innych. Każdy z nich jest szeroko stosowany ze względu na swoje unikalne i niesamowite cechy i funkcje.
Każda biblioteka ma swoje znaczenie, podobnie jak SciKit Learn jest częściej używany, gdy masz do czynienia z danymi statystycznymi. Oprócz analizy danych możesz również tworzyć kokpity menedżerskie i raporty wizualne, korzystając z funkcji dostarczanych przez te niesamowite biblioteki.