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
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ă.

