Importer CSV-data ved hjælp af Pandas.read_csv ()

Indholdsfortegnelse

I denne vejledning lærer du:

  • Importer CSV
  • Groupby

Importer CSV

Under TensorFlow-selvstudiet bruger du voksendatasættet. Det bruges ofte med klassificeringsopgave. Den er tilgængelig i denne URL https://archive.ics.uci.edu/ml/machine-learning-databases/adult/adult.data

Dataene gemmes i et CSV-format. Dette datasæt indeholder otte kategoriske variabler:

Dette datasæt indeholder otte kategoriske variabler:

  • arbejdsklasse
  • uddannelse
  • ægteskab
  • beskæftigelse
  • forhold
  • race
  • køn
  • oprindelses land

desuden seks kontinuerlige variabler:

  • alder
  • fnlwgt
  • uddannelsesnummer
  • kapital_gevinst
  • kapital-tab

timer_uge

For at importere et CSV-datasæt kan du bruge objektet pd.read_csv (). Det grundlæggende argument indeni er:

Syntaks:

pandas.read_csv(filepath_or_buffer,sep=', ',`names=None`,`index_col=None`,`skipinitialspace=False`)
  • filepath_or_buffer: Sti eller URL med dataene
  • sep = ',': Definer den afgrænser, der skal bruges
  • 'names = None': Navngiv kolonnerne. Hvis datasættet har ti kolonner, skal du sende ti navne
  • `index_col = Ingen ': Hvis ja, bruges den første kolonne som et rækkeindeks
  • `skipinitialspace = False`: Spring mellemrum over efter afgrænsning.

For mere information om readcsv (), se venligst den officielle dokumentation

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

Overvej følgende eksempel

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

Produktion:

(32561, 15)

Groupby

En nem måde at se dataene på er at bruge groupby-metoden. Denne metode kan hjælpe dig med at opsummere dataene efter gruppe. Nedenfor er en liste over tilgængelige metoder med groupby:

  • tælle: tælle
  • min: min
  • maks: maks
  • betyder: middel
  • median: median
  • standardafvigelse: sdt
  • etc

Inde i groupby () kan du bruge den kolonne, du vil anvende metoden.

Lad os se på en enkelt gruppering med voksendatasættet. Du får gennemsnittet af alle de kontinuerlige variabler efter type indtægter, dvs. over 50k eller under 50k

df_train.groupby(['label']).mean() 
alder fnlwgt uddannelsesnummer kapital_gevinst kapital-tab timer_uge
etiket
<= 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

Du kan få minimumsalderen efter husstandstype

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

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

Du kan også gruppere efter flere kolonner. For eksempel kan du få den maksimale kapitalgevinst i henhold til husstandstypen og civilstand.

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

Du kan oprette et plot efter groupby. En måde at gøre det på er at bruge et plot efter grupperingen.

For at skabe et mere fremragende plot, bruger du unstack () efter middel (), så du har det samme indeks på flere niveauer, eller du slutter dig til værdierne ved en omsætning på under 50k og over 50k. I dette tilfælde vil plottet have to grupper i stedet for 14 (2 * 7).

Hvis du bruger Jupyter Notebook, skal du sørge for at tilføje% matplotlib inline, ellers vises intet plot

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

Interessante artikler...