Python è ampiamente utilizzato come linguaggio di analisi dei dati grazie alle sue robuste librerie e strumenti per la gestione dei dati. Tra queste librerie c'è Pandas che semplifica la manipolazione e l'analisi dei dati. useremo Panda per analizzare un set di dati chiamato Dati-paese.csv da Kaggle. Mentre lavoriamo con questi dati introduciamo anche alcuni concetti importanti in Pandas.
1. Installazione
Il modo più semplice per installare Panda è usare pip:
Pythonpip install pandas
o scaricalo da Qui .
2. Creazione di un DataFrame in Panda
UN DataFrame è una struttura dati simile a una tabella in Panda che contiene dati archiviati in righe e colonne. Un DataFrame può essere creato passando più oggetti della serie Python nel file DataFrame classe ( pd.DataFrame() ) utilizzando il pd.Series metodo. In questo esempio vengono utilizzati due oggetti Series: s1 come la prima riga e s2 come seconda riga.
Esempio 1: creazione di DataFrame dalla serie:
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)
Produzione:
Esempio 2: DataFrame da un elenco con indice personalizzato e nomi di colonna:
Pythondataframe1 = pd.DataFrame([[1 2] ['Ashish' 'Sid']] index=['r1' 'r2'] columns=['c1' 'c2']) print(dataframe1)
Produzione:
Esempio 3: DataFrame da un dizionario:
Pythondataframe2 = pd.DataFrame({ 'c1': [1 'Ashish'] 'c2': [2 'Sid'] }) print(dataframe2)
Produzione:
3. Importazione di dati con Panda
Il primo passo è leggere i dati. Nel nostro caso i dati vengono archiviati come file CSV (Comma-Separated Values) in cui ogni riga è separata da una nuova riga e ogni colonna da una virgola. Per poter lavorare con i dati in Python è necessario leggere il csv file in un DataFrame 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
Produzione:
(167 10)4. Indicizzazione di DataFrames con Panda
Pandas offre potenti funzionalità di indicizzazione. Puoi indicizzare DataFrames utilizzando entrambi basato sulla posizione E basato sull'etichetta metodi.
Indicizzazione basata sulla posizione (utilizzando 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]
Produzione:
Indicizzazione basata su etichette (utilizzando loc ):
L'indicizzazione può essere eseguita con le etichette utilizzando il file pandas.DataFrame.loc metodo che consente di indicizzare utilizzando etichette anziché posizioni.
Esempi:
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::]
Produzione:
Quanto sopra in realtà non sembra molto diverso da df.iloc[0:5:]. Questo perché mentre le etichette di riga possono assumere qualsiasi valore, le nostre etichette di riga corrispondono esattamente alle posizioni. Ma le etichette delle colonne possono rendere le cose molto più semplici quando si lavora con i dati.
Esempio:
Python# Prints the first 5 rows of Time period # value df.loc[:5'child_mort']
Produzione:
5. Matematica DataFrame con Panda
Pandas semplifica l'esecuzione di operazioni matematiche sui dati archiviati nei dataframe. Le operazioni che possono essere eseguite sui panda sono vettorializzate, quindi sono veloci e si applicano automaticamente a tutti gli elementi senza utilizzare loop.
Esempio - Matematica per colonne:
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
Produzione:
Funzioni statistiche nei Panda:
javafx su eclissi
Il calcolo dei frame di dati può essere eseguito utilizzando le funzioni statistiche degli strumenti Panda. Possiamo utilizzare funzioni come:
df.sum()→ somma di valoridf.mean()→ nella mediadf.max()/df.min()→ valori massimi e minimidf.describe()→ riepilogo rapido delle statistiche
# computes various summary statistics excluding NaN values df.describe() # Provides sum of all the values for each column df.sum()
Produzione:
6. Visualizzazione dei dati con Panda e Matplotlib
Pandas è molto facile da usare Matplotlib una potente libreria utilizzata per creare grafici e grafici di base. Con solo poche righe di codice possiamo visualizzare i nostri dati e comprenderli meglio. Di seguito sono riportati alcuni semplici esempi per aiutarti a iniziare a tracciare utilizzando Panda e Matplotlib:
Python# Import the library first import matplotlib.pyplot as plt
Istogramma
Un istogramma mostra la distribuzione dei valori in una colonna.
Pythondf['income'].hist(bins=10) plt.title('Histogram of Income') plt.xlabel('Income Value') plt.ylabel('Frequency') plt.show()
Produzione:
Trama a scatola
UN trama a scatola è utile per rilevare valori anomali e comprendere la diffusione dei dati.
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()
Produzione:
Grafico a dispersione
UN grafico a dispersione mostra la relazione tra due variabili.
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()
Produzione:
Articolo correlato:
- Introduzione ai panda
- Tracciare grafici in Python
- Lavorare con file CSV in Python
- Panda DataFrame
- Introduzione a Matplotlib
- Istogramma - Tipi di definizione Grafico ed esempi
- Trama a scatola
- Grafico a dispersione