Uvoz CSV podataka pomoću Pandas.read_csv ()

Sadržaj:

Anonim

U ovom vodiču naučit ćete:

  • Uvezite CSV
  • Grupno

Uvezite CSV

Tijekom vodiča za TensorFlow upotrebljavat ćete skup podataka za odrasle. Često se koristi s klasifikacijskim zadatkom. Dostupan je na ovom URL-u https://archive.ics.uci.edu/ml/machine-learning-databases/adult/adult.data

Podaci se pohranjuju u CSV formatu. Ovaj skup podataka uključuje osam kategorijskih varijabli:

Ovaj skup podataka uključuje osam kategorijskih varijabli:

  • radni razred
  • obrazovanje
  • bračni
  • okupacija
  • odnos
  • utrka
  • seks
  • zavičajna_zemlja

štoviše, šest kontinuiranih varijabli:

  • dob
  • fnlwgt
  • broj_obrazovanja
  • kapitalni dobitak
  • gubitak_kapitala

sati_tjedan

Za uvoz CSV skupa podataka možete koristiti objekt pd.read_csv (). Osnovni argument iznutra je:

Sintaksa:

pandas.read_csv(filepath_or_buffer,sep=', ',`names=None`,`index_col=None`,`skipinitialspace=False`)
  • filepath_or_buffer: Put ili URL s podacima
  • sep = ',': Definirajte graničnik koji će se koristiti
  • `names = None`: Dajte naziv stupcima. Ako skup podataka sadrži deset stupaca, morate proslijediti deset imena
  • `index_col = Nijedan`: Ako je odgovor da, prvi se stupac koristi kao indeks retka
  • `skipinitialspace = False`: preskoči razmake nakon graničnika.

Za više informacija o readcsv (), provjerite službenu dokumentaciju

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

Razmotrite sljedeći primjer

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

Izlaz:

(32561, 15)

Grupno

Jednostavan način za prikaz podataka je korištenje metode groupby. Ova metoda može vam pomoći u sažimanju podataka po skupinama. Ispod je popis metoda dostupnih s groupby:

  • brojati: brojati
  • min: min
  • maks .: maks
  • znači: znači
  • medijan: medijan
  • standardna devijacija: sdt
  • itd

Unutar groupby (), možete koristiti stupac koji želite primijeniti na metodu.

Pogledajmo jedno grupiranje s nizom podataka za odrasle. Dobit ćete srednju vrijednost svih kontinuiranih varijabli prema vrsti prihoda, tj. Iznad 50k ili ispod 50k

df_train.groupby(['label']).mean() 
dob fnlwgt broj_obrazovanja kapitalni dobitak gubitak_kapitala sati_tjedan
označiti
<= 50K 36,783738 190340.86517 9,595065 148,752468 53,142921 38,840210
> 50.000 44,249841 188005,00000 11.611657 4006,142456 195,001530 45,473026

Možete dobiti minimalnu dob prema vrsti kućanstva

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

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

Također možete grupirati po više stupaca. Na primjer, možete dobiti maksimalni kapitalni dobitak prema vrsti kućanstva i bračnom statusu.

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

Možete stvoriti zaplet slijedeći grupu. Jedan od načina to je korištenje parcele nakon grupiranja.

Da biste stvorili izvrsniju parcelu, upotrijebit ćete unstack () nakon mean () tako da imate isti indeks na više razina ili ćete vrijednosti pridružiti prihodima manjim od 50k i višim od 50k. U ovom slučaju, radnja će imati dvije skupine umjesto 14 (2 * 7).

Ako koristite Jupyter bilježnicu, obavezno dodajte% matplotlib inline, u suprotnom se neće prikazati nijedna parcela

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