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

Esempio del metodo panda groupby()

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.

Riassumi questo post con: