Importujte data CSV pomocí Pandas.read_csv ()

Obsah:

Anonim

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