Importuokite CSV duomenis naudodami Pandas.read_csv ()

Šioje pamokoje sužinosite:

  • Importuoti CSV
  • Grupuoti pagal

Importuoti CSV

Per „TensorFlow“ mokymo programą naudosite suaugusiųjų duomenų rinkinį. Jis dažnai naudojamas kartu su klasifikavimo užduotimi. Tai galima rasti šiame URL: https://archive.ics.uci.edu/ml/machine-learning-databases/adult/adult.data

Duomenys saugomi CSV formatu. Šiame duomenų rinkinyje yra aštuoni kategoriniai kintamieji:

Šiame duomenų rinkinyje yra aštuoni kategoriniai kintamieji:

  • darbo klasė
  • švietimas
  • santuokinis
  • užsiėmimas
  • santykiai
  • lenktynės
  • seksas
  • Gimtoji šalis

be to, šeši nuolatiniai kintamieji:

  • amžiaus
  • fnlwgt
  • edukacijos_skaita
  • kapitalo prieaugio
  • kapitalo praradimas

darbo valandos

Norėdami importuoti CSV duomenų rinkinį, galite naudoti objektą pd.read_csv (). Pagrindinis argumentas yra:

Sintaksė:

pandas.read_csv(filepath_or_buffer,sep=', ',`names=None`,`index_col=None`,`skipinitialspace=False`)
  • filepath_or_buffer: Kelias arba URL su duomenimis
  • sep = ',': Apibrėžkite norimą naudoti skiriklį
  • `vardai = Nėra`: Pavadinkite stulpelius. Jei duomenų rinkinyje yra dešimt stulpelių, turite perduoti dešimt vardų
  • `index_col = Nėra`: Jei taip, pirmasis stulpelis naudojamas kaip eilutės indeksas
  • `skipinitialspace = False`: praleiskite tarpus po ribotuvo.

Norėdami gauti daugiau informacijos apie readcsv (), patikrinkite oficialius dokumentus

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

Apsvarstykite šį pavyzdį

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

Išvestis:

(32561, 15)

Grupuoti pagal

Lengvas būdas pamatyti duomenis yra „groupby“ metodo naudojimas. Šis metodas gali padėti apibendrinti duomenis pagal grupes. Žemiau pateikiamas galimų grupių metodų sąrašas:

  • suskaičiuoti: suskaičiuoti
  • min .: min
  • maks .: maks
  • reiškia: reiškia
  • mediana: mediana
  • standartinis nuokrypis: sdt
  • ir pan

„Groupby“ () viduje galite naudoti stulpelį, kurį norite taikyti.

Pažvelkime į vieną grupavimą su suaugusiųjų duomenų rinkiniu. Gausite visų tęstinių kintamųjų vidurkį pagal pajamų rūšį, ty didesnę nei 50 tūkst. Ar mažesnę nei 50 tūkst

df_train.groupby(['label']).mean() 
amžiaus fnlwgt edukacijos_skaita kapitalo prieaugio kapitalo praradimas darbo valandos
etiketė
<= 50 tūkst 36.783738 190340.86517 9.595065 148.752468 53.142921 38.840210
> 50 tūkst 44.249841 188005.00000 11.611657 4006.142456 195.001530 45.473026

Galite gauti minimalų amžių pagal namų ūkio tipą

df_train.groupby (['label']) ['amžius']. min. ()

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

Taip pat galite grupuoti pagal kelis stulpelius. Pavyzdžiui, galite gauti maksimalų kapitalo prieaugį pagal namų ūkio tipą ir šeiminę padėtį.

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

Siužetą galite sukurti sekdami grupę. Vienas iš būdų tai padaryti yra panaudoti siužetą po grupavimo.

Norėdami sukurti puikesnį grafiką, naudosite unstack () po mean (), kad turėtumėte tą patį daugiapakopį indeksą arba sujungtumėte vertes pagal mažesnes nei 50k ir didesnes nei 50k pajamas. Tokiu atveju sklype bus dvi grupės, o ne 14 (2 * 7).

Jei naudojate „Jupyter Notebook“, nepamirškite pridėti% matplotlib inline, kitaip sklypas nebus rodomas

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

Įdomios straipsniai...