V tomto výukovém programu se naučíte:
- Importujte CSV
- Skupina vytvořená
Importujte CSV
Během tutoriálu TensorFlow budete používat datovou sadu pro dospělé. Často se používá s klasifikačním úkolem. Je k dispozici na této adrese URL https://archive.ics.uci.edu/ml/machine-learning-databases/adult/adult.data
Data jsou uložena ve formátu CSV. Tato datová sada obsahuje osm kategorických proměnných:
Tato datová sada obsahuje osm kategorických proměnných:
- pracovní třída
- vzdělání
- manželský
- obsazení
- vztah
- závod
- sex
- rodná země
navíc šest spojitých proměnných:
- stáří
- fnlwgt
- education_num
- kapitálový zisk
- capital_loss
hours_week
Chcete-li importovat datovou sadu CSV, můžete použít objekt pd.read_csv (). Základní argument uvnitř je:
Syntax:
pandas.read_csv(filepath_or_buffer,sep=', ',`names=None`,`index_col=None`,`skipinitialspace=False`)
- filepath_or_buffer: Cesta nebo URL s daty
- sep = ',': Definujte oddělovač, který se má použít
- `names = None`: Pojmenujte sloupce. Pokud má datová sada deset sloupců, musíte předat deset jmen
- `index_col = None`: Pokud ano, použije se jako index řádku první sloupec
- `skipinitialspace = False`: Přeskočit mezery za oddělovačem.
Další informace o readcsv () najdete v oficiální dokumentaci
https://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_csv.html.
Zvažte následující pří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ýstup:
(32561, 15)
Skupina vytvořená
Snadný způsob, jak zobrazit data, je použít metodu groupby. Tato metoda vám pomůže shrnout data podle skupin. Níže je uveden seznam metod dostupných pomocí groupby:
- count: count
- min: min
- max: max
- průměr: průměr
- medián: medián
- směrodatná odchylka: sdt
- atd
Uvnitř groupby () můžete použít sloupec, který chcete použít metodu.
Pojďme se podívat na jediné seskupení s datovou sadou pro dospělé. Získáte průměr všech spojitých proměnných podle typu výnosu, tj. Nad 50k nebo pod 50k
df_train.groupby(['label']).mean()
stáří | fnlwgt | education_num | kapitálový zisk | capital_loss | hours_week | |
označení | ||||||
<= 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ískat minimální věk podle typu domácnosti
df_train.groupby (['štítek']) ['věk']. min ()
label<=50K 17>50K 19Name: age, dtype: int64
Můžete také seskupit podle více sloupců. Můžete například získat maximální kapitálový zisk podle 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
Následující seskupení můžete vytvořit graf. Jedním ze způsobů, jak to udělat, je použít po seskupení spiknutí.
Chcete-li vytvořit vynikající spiknutí, použijete unstack () po mean (), abyste měli stejný víceúrovňový index, nebo hodnoty spojíte podle výnosů nižších než 50 000 a vyšších než 50 000. V tomto případě bude mít děj dvě skupiny namísto 14 (2 * 7).
Pokud používáte Jupyter Notebook, nezapomeňte přidat% matplotlib inline, jinak se žádný graf nezobrazí
%matplotlib inlinedf_plot = df_train.groupby(['label', 'marital'])['capital_gain'].mean().unstack()df_plot