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:
Pythonpip 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:
Pythonimport 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:
Pythondataframe1 = pd.DataFrame([[1 2] ['Ashish' 'Sid']] index=['r1' 'r2'] columns=['c1' 'c2']) print(dataframe1)
Wyjście:
Przykład 3: DataFrame ze słownika:
Pythondataframe2 = 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.
Pythonimport 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 iloc ):
# 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 df
Wyjście:
Funkcje statystyczne w Pandach:
javac nie jest rozpoznawany
Obliczenia ramek danych można wykonać za pomocą funkcji statystycznych narzędzi pand. Możemy skorzystać z takich funkcji jak:
df.sum()→ suma wartościdf.mean()→ średniadf.max()/df.min()→ wartości maksymalne i minimalnedf.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.
Pythondf['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.
Pythondf = 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.
Pythonx = 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