Importujte údaje CSV pomocou súboru Pandas.read_csv ()

Obsah:

Anonim

V tomto návode sa dozviete:

  • Importovať CSV
  • Groupby

Importovať CSV

Počas tutoriálu TensorFlow budete používať množinu údajov pre dospelých. Často sa používa pri klasifikačnej úlohe. Je k dispozícii na tejto adrese URL https://archive.ics.uci.edu/ml/machine-learning-databases/adult/adult.data

Údaje sú uložené vo formáte CSV. Tento súbor údajov obsahuje osem kategorických premenných:

Tento súbor údajov obsahuje osem kategorických premenných:

  • pracovná trieda
  • vzdelanie
  • manželský
  • okupácia
  • vzťah
  • rasa
  • pohlavie
  • rodná krajina

okrem toho šesť spojitých premenných:

  • Vek
  • fnlwgt
  • vzdelanie_počet
  • kapitálový zisk
  • capital_loss

hours_week

Ak chcete importovať množinu súborov CSV, môžete použiť objekt pd.read_csv (). Základný argument vo vnútri je:

Syntax:

pandas.read_csv(filepath_or_buffer,sep=', ',`names=None`,`index_col=None`,`skipinitialspace=False`)
  • filepath_or_buffer: Cesta alebo URL s údajmi
  • sep = ',': Definujte oddeľovač, ktorý sa má použiť
  • `names = None`: Pomenujte stĺpce. Ak má množina údajov desať stĺpcov, musíte zadať desať mien
  • `index_col = None`: Ak áno, prvý stĺpec sa použije ako index riadkov
  • `skipinitialspace = False`: Preskočiť medzery za oddeľovačom.

Ďalšie informácie o readcsv () nájdete v oficiálnej dokumentácii

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

Zvážte nasledujúci príklad

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

Výkon:

(32561, 15)

Groupby

Ľahký spôsob, ako zobraziť údaje, je použiť metódu groupby. Táto metóda vám pomôže zosumarizovať údaje podľa skupín. Nižšie je uvedený zoznam metód dostupných pomocou groupby:

  • počet: počet
  • min: min
  • max: max
  • znamenať: znamenať
  • medián: medián
  • štandardná odchýlka: sdt
  • atď

Vo vnútri groupby () môžete použiť stĺpec, na ktorý chcete metódu použiť.

Pozrime sa na jedno zoskupenie so súborom údajov pre dospelých. Získate priemer všetkých súvislých premenných podľa typu príjmu, tj nad 50 000 alebo pod 50 000

df_train.groupby(['label']).mean() 
Vek fnlwgt vzdelanie_počet kapitálový zisk capital_loss hours_week
štítok
<= 50 tis 36,783738 190340,86517 9,595065 148,752468 53,142921 38,840210
> 50 tis 44,249841 188005,00000 11,611657 4006,142456 195,001530 45,473026

Môžete získať minimálny vek podľa typu domácnosti

df_train.groupby (['label']) ['age']. min ()

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

Môžete ich tiež zoskupiť podľa viacerých stĺpcov. Napríklad môžete získať maximálny kapitálový zisk podľa typu domácnosti a rodinného stavu.

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

Po zoskupení môžete vytvoriť graf. Jedným zo spôsobov, ako to urobiť, je použiť po zoskupení dej.

Ak chcete vytvoriť vynikajúcejšiu zápletku, použijete unstack () po mean (), aby ste mali rovnaký viacúrovňový index, alebo hodnoty spojíte podľa výnosov nižších ako 50 000 a vyšších ako 50 000. V takom prípade bude mať graf dve skupiny namiesto 14 (2 * 7).

Ak používate Jupyter Notebook, nezabudnite pridať% matplotlib inline, inak sa žiadny graf nezobrazí

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