Python s'utilitza àmpliament com a llenguatge d'anàlisi de dades a causa de les seves biblioteques i eines robustes per gestionar les dades. Entre aquestes biblioteques hi ha Pandas, que facilita la manipulació i l'anàlisi de l'exploració de dades. utilitzarem Pandes per analitzar un conjunt de dades anomenat Country-data.csv de Kaggle. Mentre treballem amb aquestes dades, també introduïm alguns conceptes importants a Pandas.
1. Instal·lació
La manera més senzilla d'instal·lar pandes és utilitzar pip:
Pythonpip install pandas
o Descarrega'l des de aquí .
2. Creació d'un DataFrame a Pandas
A DataFrame és una estructura de dades semblant a una taula a Pandas que té dades emmagatzemades en files i columnes. Es pot crear un DataFrame passant diversos objectes de la sèrie Python al fitxer DataFrame classe ( pd.DataFrame() ) utilitzant el pd.Series mètode. En aquest exemple s'utilitzen dos objectes Series: s1 com a primera fila i s2 com a segona fila.
Exemple 1: creació de DataFrame a partir de la sèrie:
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)
Sortida:
Exemple 2: DataFrame d'una llista amb índex personalitzat i noms de columnes:
Pythondataframe1 = pd.DataFrame([[1 2] ['Ashish' 'Sid']] index=['r1' 'r2'] columns=['c1' 'c2']) print(dataframe1)
Sortida:
Exemple 3: DataFrame d'un diccionari:
Pythondataframe2 = pd.DataFrame({ 'c1': [1 'Ashish'] 'c2': [2 'Sid'] }) print(dataframe2)
Sortida:
3. Importar dades amb Pandas
El primer pas és llegir les dades. En el nostre cas, les dades s'emmagatzemen com a fitxer CSV (Comma-Separated Values) on cada fila està separada per una línia nova i cada columna per una coma. Per poder treballar amb les dades en Python cal llegir el csv fitxer en un Pandas DataFrame.
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
Sortida:
(167 10)4. Indexació de DataFrames amb Pandas
Pandas ofereix potents capacitats d'indexació. Podeu indexar DataFrames utilitzant tots dos basat en la posició i basat en etiquetes mètodes.
Indexació basada en la posició (utilitzant 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]
Sortida:
Indexació basada en etiquetes (usant loc ):
La indexació es pot treballar amb etiquetes utilitzant el pandas.DataFrame.loc mètode que permet indexar utilitzant etiquetes en lloc de posicions.
Exemples:
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::]
Sortida:
En realitat, l'anterior no sembla gaire diferent de df.iloc[0:5:]. Això es deu al fet que, mentre que les etiquetes de fila poden prendre qualsevol valor, les nostres etiquetes de fila coincideixen exactament amb les posicions. Però les etiquetes de columna poden facilitar molt les coses quan es treballa amb dades.
Exemple:
Python# Prints the first 5 rows of Time period # value df.loc[:5'child_mort']
Sortida:
5. DataFrame Math amb Pandas
Pandas facilita la realització d'operacions matemàtiques sobre les dades emmagatzemades en marcs de dades. Les operacions que es poden realitzar en pandes estan vectoritzades, és a dir, són ràpides i s'apliquen automàticament a tots els elements sense utilitzar bucles.
Exemple: matemàtiques per columnes:
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
Sortida:
Funcions estadístiques en pandes:
dialecte hibernat
El càlcul de marcs de dades es pot fer utilitzant les eines de Funcions Estadístiques de pandas. Podem utilitzar funcions com:
df.sum()→ suma de valorsdf.mean()→ mitjanadf.max()/df.min()→ valors màxim i mínimdf.describe()→ resum ràpid d'estadístiques
# computes various summary statistics excluding NaN values df.describe() # Provides sum of all the values for each column df.sum()
Sortida:
6. Visualització de dades amb Pandas i Matplotlib
Pandas és molt fàcil d'utilitzar Matplotlib una biblioteca potent que s'utilitza per crear diagrames i gràfics bàsics. Amb només unes poques línies de codi podem visualitzar les nostres dades i entendre-les millor. A continuació es mostren alguns exemples senzills que us ajudaran a començar a traçar amb Pandas i Matplotlib:
Python# Import the library first import matplotlib.pyplot as plt
Histograma
Un histograma mostra la distribució dels valors en una columna.
Pythondf['income'].hist(bins=10) plt.title('Histogram of Income') plt.xlabel('Income Value') plt.ylabel('Frequency') plt.show()
Sortida:
Plot de caixa
A trama de caixa és útil per detectar valors atípics i comprendre la propagació de dades.
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()
Sortida:
Gràfic de dispersió
A trama de dispersió mostra la relació entre dues variables.
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()
Sortida:
Article relacionat:
- Introducció Pandas
- Traçat gràfic en Python
- Treballant amb fitxers csv a Python
- Pandas DataFrame
- Introducció a Matplotlib
- Histograma - Tipus de definició Gràfic i exemples
- Plot de caixa
- Gràfic de dispersió