Panda read_csv() con Esempio
Importa CSV in Panda
Durante il tutorial di TensorFlow, utilizzerai il set di dati per adulti. Viene spesso utilizzato con il compito di classificazione. ร disponibile in questo URL https://archive.ics.uci.edu/ml/machine-learning-databases/adult/adult.data
I dati vengono archiviati in formato CSV. Questo set di dati include otto variabili categoriali:
Questo set di dati include 8 variabili categoriali:
- classe operaia
- continua
- coniugale
- occupazione
- rapporto
- gara
- sesso
- Paese d'origine
E 6 variabili continue:
- fnlwgt
- numero_istruzione
- plusvalenza
- perdita_capitale
- ore_settimana
Metodo read_csv() di Panda
Per importare un set di dati CSV, รจ possibile utilizzare l'oggetto pd.read_csv(). L'argomento di base all'interno รจ:
Panda read_csv() Sintassi
pandas.read_csv(filepath_or_buffer,sep=', ',`names=None`,`index_col=None`,`skipinitialspace=False`)
- percorso_file_o_buffer: percorso o URL con i dati
- set=', ': definire il delimitatore da utilizzare
- `nomi=Nessuno`: Assegna un nome alle colonne. Se il set di dati ha dieci colonne, รจ necessario passare dieci nomi
- `index_col=Nessuno`: Se sรฌ, la prima colonna viene utilizzata come indice di riga
- `skipinitialspace=Falso`: Salta gli spazi dopo il delimitatore.
Per ulteriori informazioni su read_csv(), consultare la documentazione ufficiale:
https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_csv.html
Panda read_csv() Esempio
## Import csv
import pandas as pd
## Define path data
COLUMNS = ['age','workclass', 'fnlwgt', 'education', 'education_num', 'marital',
'occupation', 'relationship', 'race', 'sex', 'capital_gain', 'capital_loss',
'hours_week', 'native_country', 'label']
PATH = "https://archive.ics.uci.edu/ml/machine-learning-databases/adult/adult.data"
df_train = pd.read_csv(PATH,
skipinitialspace=True,
names = COLUMNS,
index_col=False)
df_train.shape
Produzione:
(32561, 15)
Metodo panda groupby()
Un modo semplice per visualizzare i dati รจ utilizzare il metodo groupby. Questo metodo puรฒ aiutarti a riepilogare i dati per gruppo. Di seguito รจ riportato un elenco di metodi disponibili con il metodo groupby():
- contare: contare
- minimo: minimo
- massimo: massimo
- significare: significare
- mediano: mediano
- deviazione standard: sdt
- eccetera
All'interno di groupby(), puoi utilizzare la colonna a cui desideri applicare il metodo.
Diamo un'occhiata a un singolo raggruppamento con il set di dati per adulti. Otterrai la media di tutte le variabili continue per tipo di entrate, ovvero superiore a 50 o inferiore a 50:
df_train.groupby(['label']).mean()
| etichetta | fnlwgt | numero_istruzione | plusvalenza | perdita_capitale | ore_settimana | |
|---|---|---|---|---|---|---|
| <= 50K | 36.783738 | 190340.86517 | 9.595065 | 148.752468 | 53.142921 | 38.840210 |
| > 50K | 44.249841 | 188005.00000 | 11.611657 | 4006.142456 | 195.001530 | 45.473026 |
Puoi ottenere l'etร minima per tipologia di nucleo familiare:
df_train.groupby(['label'])['age'].min() label <=50K 17 >50K 19 Name: age, dtype: int64
Puoi anche raggruppare per piรน colonne. Ad esempio, puoi ottenere la plusvalenza massima in base al tipo di nucleo familiare e allo stato civile.
df_train.groupby(['label', 'marital'])['capital_gain'].max()
label marital
<=50K Divorced 34095
Married-AF-spouse 2653
Married-civ-spouse 41310
Married-spouse-absent 6849
Never-married 34095
Separated 7443
Widowed 6849
>50K Divorced 99999
Married-AF-spouse 7298
Married-civ-spouse 99999
Married-spouse-absent 99999
Never-married 99999
Separated 99999
Widowed 99999
Name: capital_gain, dtype: int64
Puoi creare un grafico seguendo groupby. Un modo per farlo รจ usare un grafico dopo il raggruppamento.
Per creare una trama piรน eccellente, utilizzerai unstack() dopo mean() in modo da avere lo stesso indice multilivello oppure unirai i valori in base alle entrate inferiori a 50k e superiori a 50k. In questo caso la trama avrร due gruppi invece di 14 (2*7).
Se si utilizza Jupyter Taccuino, assicurati di aggiungere %matplotlib inline, altrimenti non verrร visualizzato alcun grafico
%matplotlib inline df_plot = df_train.groupby(['label', 'marital'])['capital_gain'].mean().unstack() df_plot
Sintesi
- Per importare un set di dati CSV in Pandas, puoi utilizzare l'oggetto pd.read_csv().
- Il metodo groupby() puรฒ aiutarti a riepilogare i dati per gruppo.
- Puoi anche raggruppare per piรน colonne. Ad esempio, puoi ottenere la plusvalenza massima in base al tipo di nucleo familiare e allo stato civile.

