Python Pandas Tutorial: Naucz się pand do analizy danych



W tym samouczku Python Pandas nauczysz się różnych operacji Pandas. Zawiera również przypadek użycia, w którym możesz analizować dane za pomocą Pandas.

Na tym blogu będziemy omawiać analizę danych za pomocą Pand w Pythonie.Dzisiaj, to popularna umiejętność w branży, która przewyższyła PHP w 2017 i C # w 2018 pod względem ogólnej popularności i wykorzystania.Zanim zaczniemy mówić o Pandach, należy zrozumieć pojęcie tablic Numpy. Czemu? Ponieważ Pandas to biblioteka oprogramowania typu open source, która jest zbudowana na podstawie . W tym samouczku Python Pandas przeprowadzę Cię przez następujące tematy, które posłużą jako podstawy dla nadchodzących blogów:

Zacznijmy. :-)





Co to jest Python Pandas?

Pandy są używane do manipulacji danymi, analizy i czyszczenia. Pandy Python są dobrze przystosowane do różnych rodzajów danych, takich jak:

  • Dane tabelaryczne z niejednorodnymi kolumnami
  • Uporządkowane i nieuporządkowane dane szeregów czasowych
  • Dowolne dane macierzy z etykietami wierszy i kolumn
  • Dane bez etykiety
  • Każda inna forma zbiorów danych obserwacyjnych lub statystycznych

Jak zainstalować Pandy?

Aby zainstalować Python Pandas, przejdź do linii poleceń / terminala i wpisz „pip install pandas” lub, jeśli masz zainstalowaną anacondę w swoim systemie, po prostu wpisz „conda install pandas”. Po zakończeniu instalacji przejdź do swojego IDE (Jupyter, PyCharm itp.) I po prostu zaimportuj je, wpisując: „import pandy as pd”



Przechodząc dalej w samouczku o pandach Pythona, przyjrzyjmy się niektórym z jego operacji:

Operacje na pandach w Pythonie

Używając pand w Pythonie, możesz wykonywać wiele operacji na seriach, ramkach danych, brakujących danych, grupować według itp. Poniżej wymieniono niektóre typowe operacje na danych:



PandasOperations - Python Pandas Tutorial - Edureka

Teraz zrozummy wszystkie te operacje jedna po drugiej.

co jest * w sql

Cięcie ramki danych

Aby wykonać wycinanie danych, potrzebujesz ramki danych. Nie martw się, ramka danych to dwuwymiarowa struktura danych i najpopularniejszy obiekt pandy. Najpierw utwórzmy ramkę danych.

Zobacz poniższy kod, aby zapoznać się z jego implementacją w PyCharm:

importuj pandy jako pd XYZ_web = {'Day': [1,2,3,4,5,6], 'Visitors': [1000, 700,6000,1000,400,350], 'Bounce_Rate': [20,20, 23,15,10,34]} df = pd.DataFrame (XYZ_web) print (df)

Wynik :

Bounce_Rate Day Visitors 0 20 1 1000 1 20 2700 2 23 3 6000 3 15 4 1000 4 10 5 400 5 34 6350

Powyższy kod przekształci słownik w ramkę danych pandy wraz z indeksem po lewej stronie. Teraz wytnijmy konkretną kolumnę z tej ramki danych. Zobacz poniższy obrazek:

print (df.head (2))

Wynik:

Bounce_Rate Day Visitors 0 20 1 1000 1 20 2700

Podobnie, jeśli chcesz mieć ostatnie dwa wiersze danych, wpisz poniższe polecenie:

print (df.tail (2))

Wynik:

Bounce_Rate Day Visitors 4 10 5 400 5 34 6 350

Następnie w samouczku Python Pandas wykonajmy scalanie i łączenie.

Scalanie i łączenie

Podczas scalania można połączyć dwie ramki danych, aby utworzyć jedną ramkę danych. Możesz także zdecydować, które kolumny mają być wspólne. Pozwólcie, że zaimplementuję to praktycznie, najpierw utworzę trzy ramki danych, które mają kilka par klucz-wartość, a następnie połączę ramki danych ze sobą. Zobacz poniższy kod:

HPI IND_GDP Int_Rate 0 80 50 2 1 90 45 1 2 70 45 2 3 60 67 3

Wynik:

importuj pandy jako pd df1 = pd.DataFrame ({'HPI': [80,90,70,60], 'Int_Rate': [2,1,2,3], 'IND_GDP': [50,45,45, 67]}, index = [2001, 2002,2003,2004]) df2 = pd.DataFrame ({'HPI': [80,90,70,60], 'Int_Rate': [2,1,2,3] , „IND_GDP”: [50,45,45,67]}, index = [2005, 2006,2007,2008]) scalony = pd.merge (df1, df2) print (połączony)

Jak widać powyżej, dwie ramki danych zostały połączone w jedną ramkę danych. Teraz możesz również określić kolumnę, którą chcesz udostępnić. Na przykład chcę, aby kolumna „HPI” była wspólna, a dla wszystkiego innego chcę osobnych kolumn. Więc pozwól, że zaimplementuję to praktycznie:

df1 = pd.DataFrame ({'HPI': [80,90,70,60], 'Int_Rate': [2,1,2,3], 'IND_GDP': [50,45,45,67]}, index = [2001, 2002,2003,2004]) df2 = pd.DataFrame ({'HPI': [80,90,70,60], 'Int_Rate': [2,1,2,3], 'IND_GDP' : [50,45,45,67]}, index = [2005, 2006,2007,2008]) scalony = pd.merge (df1, df2, on = 'HPI') print (scalony)

Wynik:

IND_GDP Int_Rate Low_Tier_HPI Bezrobocie 2001 50 2 50,0 1,0 2002 45 1 NaN NaN 2003 45 2 45,0 3,0 2004 67 3 67,0 5,0 2004 67 3 34,0 6,0

Następnie pozwól nam zrozumieć łączący w samouczku pandy w języku Python. Jest to kolejna wygodna metoda łączenia dwóch różnie indeksowanych ramek danych w jedną wynikową ramkę danych. Jest to dość podobne do operacji „scalania”, z tą różnicą, że operacja łączenia będzie znajdowała się w „indeksie” zamiast w „kolumnach”. Zrealizujmy to praktycznie.

df1 = pd.DataFrame ({'Int_Rate': [2,1,2,3], 'IND_GDP': [50,45,45,67]}, index = [2001, 2002,2003,2004]) df2 = pd.DataFrame ({'Low_Tier_HPI': [50,45,67,34], 'Bezrobocie': [1,3,5,6]}, index = [2001, 2003,2004,2004]) dołączył = df1. join (df2) print (złączone)

Wynik:

IND_GDP Int_Rate Low_Tier_HPI Bezrobocie 2001 50 2 50,0 1,0 2002 45 1 NaN NaN 2003 45 2 45,0 3,0 2004 67 3 67,0 5,0 2004 67 3 34,0 6,0

Jak widać na powyższym wyjściu, w roku 2002 (indeks) nie ma wartości przypisanej do kolumn „low_tier_HPI” i „bezrobocie”, dlatego wydrukowano NaN (Not a Number). Później w 2004 r. Obie wartości są dostępne, dlatego wydrukowano odpowiednie wartości.

Możesz przejść przez to nagranie samouczka Python Pandas, w którym nasz instruktor szczegółowo wyjaśnił tematy z przykładami, które pomogą Ci lepiej zrozumieć tę koncepcję.

Python do analizy danych | Python Pandas Tutorial | Szkolenie Python | Edureka


Przechodząc dalej w samouczku Pandy Python, pozwól nam zrozumieć, jak połączyć dwie ramki danych.

Powiązanie

Konkatenacja w zasadzie skleja ramki danych. Możesz wybrać wymiar, w którym chcesz dokonać konkatenacji. W tym celu wystarczy użyć „pd.concat” i przekazać listę ramek danych do połączenia. Rozważ poniższy przykład.

df1 = pd.DataFrame ({'HPI': [80,90,70,60], 'Int_Rate': [2,1,2,3], 'IND_GDP': [50,45,45,67]}, index = [2001, 2002,2003,2004]) df2 = pd.DataFrame ({'HPI': [80,90,70,60], 'Int_Rate': [2,1,2,3], 'IND_GDP' : [50,45,45,67]}, index = [2005, 2006,2007,2008]) concat = pd.concat ([df1, df2]) print (concat)

Wynik:

HPI IND_GDP Int_Rate 2001 80 50 2 2002 90 45 1 2003 70 45 2 2004 60 67 3 2005 80 50 2 2006 90 45 1 2007 70 45 2 2008 60 67 3

Jak widać powyżej, dwie ramki danych są sklejone ze sobą w jednej ramce danych, w której indeks zaczyna się od 2001 aż do 2008. Następnie możesz również określić oś = 1, aby łączyć, łączyć lub łączyć ze sobą kolumny. Zobacz poniższy kod:

df1 = pd.DataFrame ({'HPI': [80,90,70,60], 'Int_Rate': [2,1,2,3], 'IND_GDP': [50,45,45,67]}, index = [2001, 2002,2003,2004]) df2 = pd.DataFrame ({'HPI': [80,90,70,60], 'Int_Rate': [2,1,2,3], 'IND_GDP' : [50,45,45,67]}, index = [2005, 2006,2007,2008]) concat = pd.concat ([df1, df2], axis = 1) print (concat)

Wynik:

HPI IND_GDP Int_Rate HPI IND_GDP Int_Rate 2001 80,0 50,0 2,0 NaN NaN NaN 2002 90,0 45,0 1,0 NaN NaN NaN 2003 70,0 45,0 2,0 NaN NaN NaN 2004 60,0 67,0 3,0 NaN NaN NaN 2005 NaN NaN NaN 80,0 50,0 2,0 2006 NaN NaN NaN 90,0 45,0 1,0 2007 NaN NaN NaN 70,0 45,0 2,0 2008 NaN NaN NaN 60,0 67,0 3,0

Jak możesz powyżej, istnieje kilka brakujących wartości. Dzieje się tak, ponieważ ramki danych nie miały wartości dla wszystkich indeksów, na których chcesz przeprowadzić konkatenację. Dlatego powinieneś upewnić się, że wszystkie informacje są poprawnie ustawione podczas łączenia lub łączenia na osi.

co to jest instancja w java

Zmień indeks

Następnie w samouczku dotyczącym pand w języku Python dowiemy się, jak zmienić wartości indeksu w ramce danych. Na przykład stwórzmy ramkę danych z parami klucz-wartość w słowniku i zmieńmy wartości indeksu. Rozważ poniższy przykład:

Zobaczmy, jak to się właściwie dzieje:

importuj pandy jako pd df = pd.DataFrame ({'Day': [1,2,3,4], 'Visitors': [200, 100,230,300], 'Bounce_Rate': [20,45,60,10]}) df.set_index ('Dzień', inplace = True) print (df)

Wynik:

Bounce_Rate Visitors Day 1 20200 2 45100 3 60230 4 10300

Jak widać na powyższym wyjściu, wartość indeksu została zmieniona w stosunku do kolumny „Dzień”.

Zmień nagłówki kolumn

Zmieńmy teraz nagłówki kolumn w tym samouczku dotyczącym pand w języku Python. Weźmy ten sam przykład, w którym zmienię nagłówek kolumny z „Użytkownicy” na „Użytkownicy”. Więc pozwól mi to wdrożyć praktycznie.

importuj pandy jako pd df = pd.DataFrame ({'Day': [1,2,3,4], 'Visitors': [200, 100,230,300], 'Bounce_Rate': [20,45,60,10]}) df = df.rename (columns = {'Visitors': 'Users'}) print (df)

Wynik:

Bounce_Rate Day Users 0 20 1200 1 45 2100 2 60 3230 3 10 4300

Jak widać powyżej, nagłówek kolumny „Użytkownicy” został zmieniony na „Użytkownicy”. Następnie w samouczku o pandach w języku Python wykonajmy munging danych.

Bezpowrotnie zniszczenie lub zmiana danych

W trybie Data munging można przekonwertować określone dane na inny format. Na przykład, jeśli masz plik .csv, możesz przekonwertować go na .html lub dowolny inny format danych. Pozwólcie, że zrealizuję to praktycznie.

importuj pandy jako pd country = pd.read_csv ('D: UsersAayushiDownloadsworld-bank-youth-pleasureAPI_ILO_country_YU.csv', index_col = 0) country.to_html ('edu.html')

Po uruchomieniu tego kodu zostanie utworzony plik HTML o nazwie „edu.html”. Możesz bezpośrednio skopiować ścieżkę do pliku i wkleić ją do przeglądarki, która wyświetla dane w formacie HTML. Zobacz poniższy zrzut ekranu:


Następnie w samouczku o pandach w Pythonie przyjrzyjmy się przykładowi użycia, który mówi o globalnym bezrobociu wśród młodzieży.

Python Pandas Tutorial: Analiza danych dotyczących bezrobocia młodzieży

Stwierdzenie problemu :Otrzymujesz zbiór danych, który obejmuje odsetek bezrobotnej młodzieży na świecie w latach 2010–2014. Należy skorzystać z tego zbioru danych i znaleźć zmianę odsetka młodzieży dla każdego kraju w latach 2010–2011.

Najpierw przyjrzyjmy się zestawowi danych, który zawiera kolumny takie jak nazwa kraju, kod kraju i rok od 2010 do 2014. Teraz, używając pand, użyjemy „pd.read_csv” do odczytania pliku w formacie .csv.
Zobacz zrzut ekranu poniżej:

Przejdźmy dalej i przeprowadźmy analizę danych, w której poznamy procentową zmianę bezrobotnej młodzieży między 2010 a 2011 rokiem. Następnie zwizualizujemy to za pomocą biblioteka, która jest potężną biblioteką do wizualizacji w Pythonie. Może być używany w skryptach Pythona, powłoce, serwerach aplikacji internetowych i innych zestawach narzędzi GUI. Możesz użyć czytaj więcej tutaj:

Teraz zaimplementujmy kod w PyCharm:

importuj pandy jako pd import matplotlib.pyplot as plt z matplotlib import style.use ('fivethirtyeight') country = pd.read_csv ('D: UsersAayushiDownloadsworld-bank-youth-pleasureAPI_ILO_country_YU.csv', index_col country = 0) df. head (5) df = df.set_index (['Country Code']) sd = sd.reindex (columns = ['2010', '2011']) db = sd.diff (axis = 1) db.plot (kind = 'bar') plt.show ()

Jak widać powyżej, przeprowadziłem analizę w 5 pierwszych wierszach ramki danych kraju. Następnie zdefiniowałem wartość indeksu jako „Kod kraju”, a następnie ponownie zindeksowałem kolumnę do 2010 i 2011. Następnie mamy jeszcze jedną bazę danych ramki danych, która wypisuje różnicę między dwiema kolumnami lub procentową zmianę bezrobotnej młodzieży od 2010 do 2011. Wreszcie wykonałem wykres paskowy przy użyciu biblioteki Matplotlib w Pythonie.


Teraz, jeśli zauważyliście na powyższym wykresie, w Afganistanie (AFG) w latach 2010-2011 nastąpił wzrost bezrobotnej młodzieży o ok. 0,25%. Następnie w Angoli (AGO) panuje negatywny trend, co oznacza, że ​​odsetek bezrobotnej młodzieży uległ zmniejszeniu. Podobnie możesz przeprowadzić analizę na różnych zestawach danych.

Mam nadzieję, że mój blog „Python Pandas Tutorial” był dla Ciebie odpowiedni. Aby uzyskać dogłębną wiedzę na temat języka Python i jego różnych aplikacji, możesz zarejestrować się na żywo by Edureka z całodobowym wsparciem i dożywotnim dostępem.

Masz do nas pytanie? Wspomnij o tym w sekcji komentarzy na blogu „Python Pandas tutorial”, a my skontaktujemy się z Tobą tak szybko, jak to możliwe.