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: