Pandas read_csv() cu Exemplu

Importați CSV în Pandas

În timpul tutorialului TensorFlow, veți utiliza setul de date pentru adulți. Acesta este adesea utilizat cu sarcini de clasificare. Este disponibil în acest URL https://archive.ics.uci.edu/ml/machine-learning-databases/adult/adult.data

Datele sunt stocate în format CSV. Acest set de date include opt variabile categorice:

Acest set de date include 8 variabile categoriale:

  • clasa de lucru
  • educaţie
  • marital
  • ocupație
  • relaţie
  • rasă
  • sex
  • tara de origine

Și, 6 variabile continue:

  • vârstă
  • fnlwgt
  • educație_num
  • câștig de capital
  • pierdere_capital
  • ore_săptămână

Metoda Pandas read_csv().

Pentru a importa un set de date CSV, puteți utiliza obiectul pd.read_csv(). Argumentul de bază din interior este:

Sintaxa Pandas read_csv().

pandas.read_csv(filepath_or_buffer,sep=', ',`names=None`,`index_col=None`,`skipinitialspace=False`)
  • filepath_or_bufferCale sau URL cu datele
  • sep=', ': Definiți delimitatorul de utilizat
  • `names=Niciuna`: Denumiți coloanele. Dacă setul de date are zece coloane, trebuie să treceți zece nume
  • `index_col=Niciuna`: Dacă da, prima coloană este folosită ca index de rând
  • `skipinitialspace=Fals`: Sari peste spatii dupa delimitator.

Pentru mai multe informații despre read_csv(), vă rugăm să verificați documentația oficială:

https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_csv.html

Pandas read_csv() Exemplu

## 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

ieșire:

(32561, 15)

Metoda Pandas groupby().

O modalitate ușoară de a vedea datele este utilizarea metodei groupby. Această metodă vă poate ajuta să rezumați datele în funcție de grup. Mai jos este o listă de metode disponibile cu metoda groupby():

  • numără: numără
  • min: min
  • max: max
  • înseamnă: însemnătate
  • mediană: mediană
  • abatere standard: sdt
  • etc

În interiorul groupby(), puteți folosi coloana pe care doriți să aplicați metoda.

Să aruncăm o privire la un singur grupping cu setul de date pentru adulți. Veți obține media tuturor variabilelor continue în funcție de tipul de venit, adică peste 50 sau sub 50:

df_train.groupby(['label']).mean()
etichetă vârstă fnlwgt educație_num câștig de capital pierdere_capital ore_săptămână
<= 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

Puteți obține vârsta minimă în funcție de tipul de gospodărie:

df_train.groupby(['label'])['age'].min()
label
<=50K    17
>50K     19
Name: age, dtype: int64

De asemenea, puteți grupa după mai multe coloane. De exemplu, puteți obține câștigul de capital maxim în funcție de tipul gospodăriei și starea civilă.

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

Puteți crea un grafic după gruparea după. O modalitate de a face acest lucru este să utilizați un grafic după grupare.ping.

Pentru a crea un complot mai excelent, veți folosi unstack() după mean() astfel încât să aveți același index pe mai multe niveluri, sau vă alăturați valorilor prin venituri mai mici de 50k și peste 50k. În acest caz, parcela va avea două grupuri în loc de 14 (2*7).

Dacă utilizați Jupyter Blocnotes, asigurați-vă că adăugați %matplotlib inline, în caz contrar, nu va fi afișat niciun grafic

%matplotlib inline
df_plot = df_train.groupby(['label', 'marital'])['capital_gain'].mean().unstack()
df_plot

Metoda Pandas groupby() Exemplu

Rezumat

  • Pentru a importa un set de date CSV în ursi panda, puteți folosi obiectul pd.read_csv().
  • Metoda groupby() vă poate ajuta să rezumați datele după grup.
  • De asemenea, puteți grupa după mai multe coloane. De exemplu, puteți obține câștigul de capital maxim în funcție de tipul gospodăriei și starea civilă.

Rezumați această postare cu: