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

