Analiza i wizualizacja danych w Pythonie
Python jest powszechnie używany jako język analizy danych ze względu na rozbudowane biblioteki i narzędzia do zarządzania danymi. Wśród tych bibliotek znajduje się Pandas, która ułatwia manipulowanie i analizowanie danych. użyjemy Pandy do analizy zbioru danych o nazwie Dane-kraju.csv z Kaggle'a. Pracując z tymi danymi, wprowadzamy również kilka ważnych pojęć w Pandach.
1. Instalacja
Najłatwiejszym sposobem zainstalowania pand jest użycie pip:
Python pip install pandas
lub Pobierz go z Tutaj .
2. Tworzenie ramki danych w Pandach
A Ramka danych to przypominająca tabelę struktura danych w Pandach, która zawiera dane przechowywane w wierszach i kolumnach. Ramkę danych można utworzyć, przekazując wiele obiektów serii Pythona do DataFrame klasa ( pd.DataFrame() ) za pomocą pd.Series metoda. W tym przykładzie użyte zostały dwa obiekty Series: s1 jako pierwszy rząd i s2 jako drugi rząd.
Przykład 1: Tworzenie ramki danych z serii:
Python
import pandas as pd # Creating two Series: s1 (numbers) and s2 (names) s1 = pd . Series ([ 1 2 ]) s2 = pd . Series ([ 'Ashish' 'Sid' ]) # Creating DataFrame by combining Series as rows dataframe = pd . DataFrame ([ s1 s2 ]) # Displaying the DataFrame print ( dataframe )
Wyjście:
Przykład 2: DataFrame z listy z niestandardowym indeksem i nazwami kolumn:
Python dataframe1 = pd . DataFrame ([[ 1 2 ] [ 'Ashish' 'Sid' ]] index = [ 'r1' 'r2' ] columns = [ 'c1' 'c2' ]) print ( dataframe1 )
Wyjście:
Przykład 3: DataFrame ze słownika:
Python dataframe2 = pd . DataFrame ({ 'c1' : [ 1 'Ashish' ] 'c2' : [ 2 'Sid' ] }) print ( dataframe2 )
Wyjście:
3. Importowanie danych za pomocą Pand
Pierwszym krokiem jest odczytanie danych. W naszym przypadku dane są przechowywane w postaci pliku CSV (wartości rozdzielane przecinkami), w którym każdy wiersz jest oddzielony nową linią, a każda kolumna przecinkiem. Aby móc pracować z danymi w Pythonie, należy przeczytać plik CSV plik do ramki danych Pandas.
Python import pandas as pd # Read Country-data.csv into a DataFrame df = pd . read_csv ( 'Country-data.csv' ) # Prints the first 5 rows of a DataFrame as default df . head () # Prints no. of rows and columns of a DataFrame df . shape
Wyjście:
(167 10)4. Indeksowanie ramek danych za pomocą Pand
Pandas zapewnia zaawansowane możliwości indeksowania. Możesz indeksować ramki danych, używając obu oparte na pozycji I oparte na etykietach metody.
Indeksowanie oparte na pozycji (przy użyciu
Pythoniloc):# prints first 5 rows and every column which replicates df.head() df . iloc [ 0 : 5 :] # prints entire rows and columns df . iloc [::] # prints from 5th rows and first 5 columns df . iloc [ 5 :: 5 ]Wyjście:
![]()
![]()
![]()
Indeksowanie oparte na etykietach (przy użyciu
loc):Indeksowanie można wykonywać z etykietami za pomocą metody pandas.DataFrame.loc metoda pozwalająca na indeksowanie za pomocą etykiet zamiast pozycji.
Przykłady:
Python# prints first five rows including 5th index and every columns of df df . loc [ 0 : 5 :] # prints from 5th rows onwards and entire columns df . loc [ 5 ::]Wyjście:
![]()
![]()
Powyższe nie różni się zbytnio od pliku df.iloc[0:5:]. Dzieje się tak, ponieważ chociaż etykiety wierszy mogą przyjmować dowolne wartości, nasze etykiety wierszy dokładnie dopasowują się do pozycji. Jednak etykiety kolumn mogą znacznie ułatwić pracę z danymi.Przykład:
Python# Prints the first 5 rows of Time period # value df . loc [: 5 'child_mort' ]Wyjście:
![]()
5. Matematyka DataFrame z Pandami
Pandy ułatwiają wykonywanie operacji matematycznych na danych przechowywanych w ramkach danych. Operacje, które można wykonać na pandach, są wektoryzowane, co oznacza, że są szybkie i stosowane automatycznie do wszystkich elementów bez użycia pętli.
Przykład — matematyka kolumnowa:
Python# Adding 5 to every element in column A df [ 'child_mort' ] = df [ 'child_mort' ] + 5 # Multiplying values in column B by 10 df [ 'exports' ] = df [ 'exports' ] * 10 dfWyjście:
![]()
Funkcje statystyczne w Pandach:
Obliczenia ramek danych można wykonać za pomocą funkcji statystycznych narzędzi pand. Możemy skorzystać z takich funkcji jak:
-
df.sum()→ suma wartości -
df.mean()→ średnia -
df.max()/df.min()→ wartości maksymalne i minimalne -
df.describe()→ szybkie podsumowanie statystyk
# computes various summary statistics excluding NaN values df . describe () # Provides sum of all the values for each column df . sum ()
Wyjście:
6. Wizualizacja danych za pomocą Pand i Matplotlib
Pandy są bardzo łatwe w użyciu Matplotlib potężna biblioteka używana do tworzenia podstawowych wykresów i wykresów. Za pomocą zaledwie kilku linijek kodu możemy zwizualizować nasze dane i lepiej je zrozumieć. Poniżej znajduje się kilka prostych przykładów, które pomogą Ci rozpocząć kreślenie przy użyciu Pand i Matplotlib:
Python # Import the library first import matplotlib.pyplot as plt
Histogram
Histogram pokazuje rozkład wartości w kolumnie.
Python df [ 'income' ] . hist ( bins = 10 ) plt . title ( 'Histogram of Income' ) plt . xlabel ( 'Income Value' ) plt . ylabel ( 'Frequency' ) plt . show ()
Wyjście:
Fabuła pudełkowa
A fabuła pudełkowa jest przydatny do wykrywania wartości odstających i zrozumienia rozproszenia danych.
Python df = df . head ( 10 ) plt . figure ( figsize = ( 20 6 )) # Increase width to make x-axis labels clearer df . boxplot ( column = 'imports' by = 'country' ) plt . title ( 'Boxplot by Country' ) plt . suptitle ( '' ) # Removes default title plt . xlabel ( 'Country' ) plt . ylabel ( 'Imports' ) plt . xticks ( rotation = 45 ) # Optional: Rotate x-axis labels for better visibility plt . tight_layout () # Adjust layout to avoid clipping plt . show ()
Wyjście:
Wykres rozproszony
A działka rozproszona pokazuje związek między dwiema zmiennymi.
Python x = df [ 'health' ] y = df [ 'life_expec' ] plt . scatter ( x y label = 'Data Points' color = 'm' marker = '*' s = 30 ) plt . xlabel ( 'Health' ) plt . ylabel ( 'Life Expectancy' ) plt . title ( 'Scatter Plot of Health vs Life Expectancy' ) plt . legend () plt . show ()
Wyjście:
Powiązany artykuł:
- Wprowadzenie do pand
- Rysowanie wykresów w Pythonie
- Praca z plikami CSV w Pythonie
- Ramka danych Pandy
- Wprowadzenie do Matplotliba
- Histogram — wykres typów definicji i przykłady
- Fabuła pudełkowa
- Wykres rozproszony