Uvozite podatke CSV z uporabo Pandas.read_csv ()

Kazalo:

Anonim

V tej vadnici boste izvedeli:

  • Uvozi CSV
  • Groupby

Uvozi CSV

Med vadnico TensorFlow boste uporabili nabor podatkov za odrasle. Pogosto se uporablja pri klasifikacijski nalogi. Na voljo je na tem URL-ju https://archive.ics.uci.edu/ml/machine-learning-databases/adult/adult.data

Podatki so shranjeni v obliki CSV. Ta nabor podatkov vključuje osem kategoričnih spremenljivk:

Ta nabor podatkov vključuje osem kategoričnih spremenljivk:

  • delovni razred
  • izobraževanje
  • zakonski
  • poklic
  • razmerje
  • dirka
  • seks
  • Domača država

poleg tega šest neprekinjenih spremenljivk:

  • starost
  • fnlwgt
  • izobraževalna_številka
  • kapitalski dobiček
  • izguba kapitala

ur_teden

Če želite uvoziti nabor podatkov CSV, lahko uporabite predmet pd.read_csv (). Osnovni argument znotraj je:

Sintaksa:

pandas.read_csv(filepath_or_buffer,sep=', ',`names=None`,`index_col=None`,`skipinitialspace=False`)
  • filepath_or_buffer: Pot ali URL s podatki
  • sep = ',': Določite ločilo, ki ga želite uporabiti
  • `names = None`: poimenujte stolpce. Če ima nabor podatkov deset stolpcev, morate posredovati deset imen
  • `index_col = None`: Če je odgovor pritrdilen, se prvi stolpec uporabi kot indeks vrstice
  • `skipinitialspace = False`: preskoči presledke po ločevalniku.

Za več informacij o readcsv () si oglejte uradno dokumentacijo

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

Upoštevajte naslednji primer

## Import csvimport pandas as pd## Define path dataCOLUMNS = ['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

Izhod:

(32561, 15)

Groupby

Enostaven način za prikaz podatkov je uporaba metode groupby. Ta metoda vam lahko pomaga pri povzetku podatkov po skupinah. Spodaj je seznam metod, ki so na voljo pri groupby:

  • count: count
  • min: min
  • maks .: maks
  • pomeni: pomeni
  • mediana: mediana
  • standardni odklon: sdt
  • itd

Znotraj groupby () lahko uporabite stolpec, v katerem želite uporabiti metodo.

Oglejmo si eno skupino z naborom podatkov za odrasle. Dobili boste povprečje vseh zveznih spremenljivk glede na vrsto prihodka, tj. Nad 50k ali pod 50k

df_train.groupby(['label']).mean() 
starost fnlwgt izobraževalna_številka kapitalski dobiček izguba kapitala ur_teden
nalepko
<= 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

Najnižjo starost lahko dobite glede na vrsto gospodinjstva

df_train.groupby (['oznaka']) ['starost']. min ()

label<=50K 17>50K 19Name: age, dtype: int64 

Lahko tudi razvrstite po več stolpcih. Tako lahko na primer pridobite največji kapitalski dobiček glede na vrsto gospodinjstva in zakonski stan.

df_train.groupby(['label', 'marital'])['capital_gain'].max()label marital<=50K Divorced 34095Married-AF-spouse 2653Married-civ-spouse 41310Married-spouse-absent 6849Never-married 34095Separated 7443Widowed 6849>50K Divorced 99999Married-AF-spouse 7298Married-civ-spouse 99999Married-spouse-absent 99999Never-married 99999Separated 99999Widowed 99999Name: capital_gain, dtype: int64

Zaplet lahko ustvarite po skupini. Eden od načinov za to je uporaba ploskve po razvrščanju v skupine.

Če želite ustvariti bolj odlično ploskev, boste uporabili unstack () po mean (), tako da boste imeli enak indeks na več ravneh, ali pa boste vrednosti združili s prihodkom, nižjim od 50k in nad 50k. V tem primeru bo ploskev imela dve skupini namesto 14 (2 * 7).

Če uporabljate Jupyter Notebook, dodajte% matplotlib v vrstici, sicer ploskev ne bo prikazana

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