Pandad loevad_csv() näitega

CSV importimine Pandasse

TensorFlow õpetuse ajal kasutate täiskasvanutele mõeldud andmestikku. Seda kasutatakse sageli koos klassifitseerimisülesandega. See on saadaval sellel URL-il https://archive.ics.uci.edu/ml/machine-learning-databases/adult/adult.data

Andmed salvestatakse CSV-vormingus. See andmestik sisaldab kaheksat kategoorilist muutujat:

See andmekogum sisaldab 8 kategoorilist muutujat:

  • tööklass
  • haridus
  • abielu-
  • okupatsioon
  • suhe
  • rass
  • sugu
  • kodumaa

Ja 6 pidevat muutujat:

  • vanus
  • fnlwgt
  • hariduse_nr
  • kapitalikasum
  • kapitali_kahjum
  • tundi_nädal

Panda read_csv() meetod

CSV-andmestiku importimiseks võite kasutada objekti pd.read_csv(). Põhiargument sees on:

Panda read_csv() süntaks

pandas.read_csv(filepath_or_buffer,sep=', ',`names=None`,`index_col=None`,`skipinitialspace=False`)
  • failitee_või_puhver: andmetega tee või URL
  • sept=', ': määrake kasutatav eraldaja
  • `names=puudub`: andke veergudele nimi. Kui andmekogumil on kümme veergu, peate edastama kümme nime
  • `index_col=Puudub: kui jah, kasutatakse esimest veergu reaindeksina
  • `skipinitialspace=False': jätke eraldaja järel tühikud vahele.

Read_csv(i) kohta lisateabe saamiseks vaadake ametlikku dokumentatsiooni:

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

Panda read_csv() Näide

## Import csv
import pandas as pd
## Define path data
COLUMNS = ['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äljund:

(32561, 15)

Pandas groupby() meetod

Lihtne viis andmete vaatamiseks on kasutada meetodit groupby. See meetod aitab teil andmed rühmade kaupa kokku võtta. Allpool on nimekiri meetoditest, mis on saadaval meetodiga groupby():

  • arv: loe
  • min: min
  • max: max
  • tähendab: tähendab
  • mediaan: mediaan
  • standardhälve: sdt
  • jms

Sees groupby() saate kasutada veergu, millele soovite meetodit rakendada.

Vaatame ühte rühmitust täiskasvanute andmekogumiga. Saate kõigi pidevate muutujate keskmise tulu tüübi järgi, st üle 50 50 või alla XNUMX XNUMX:

df_train.groupby(['label']).mean()
etikett vanus fnlwgt hariduse_nr kapitalikasum kapitali_kahjum tundi_nädal
<= 50 tuhat 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

Vanuse alammäära saate leibkonna tüübi järgi:

df_train.groupby(['label'])['age'].min()
label
<=50K    17
>50K     19
Name: age, dtype: int64

Saate rühmitada ka mitme veeru järgi. Näiteks võite saada maksimaalse kapitalikasumi vastavalt leibkonna tüübile ja perekonnaseisule.

df_train.groupby(['label', 'marital'])['capital_gain'].max()				
label  marital              
<=50K  Divorced                 34095
       Married-AF-spouse         2653
       Married-civ-spouse       41310
       Married-spouse-absent     6849
       Never-married            34095
       Separated                 7443
       Widowed                   6849
>50K   Divorced                 99999
       Married-AF-spouse         7298
       Married-civ-spouse       99999
       Married-spouse-absent    99999
       Never-married            99999
       Separated                99999
       Widowed                  99999
Name: capital_gain, dtype: int64

Saate luua graafiku järgmise rühma järgi. Üks võimalus seda teha on kasutada pärast rühmitamist süžeed.

Suurepärasema graafiku loomiseks kasutate pärast mean() funktsiooni unstack(), et teil oleks sama mitmetasandiline indeks, või ühendate väärtused tuludega, mis on väiksemad kui 50 50 ja üle 14 2. Sel juhul on krundil kaks rühma 7 (XNUMX*XNUMX) asemel.

Kui kasutate Jupyter märkmik, lisage kindlasti %matplotlib reas, vastasel juhul ei kuvata joonist

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

Panda groupby() meetod Näide

kokkuvõte

  • CSV-andmestiku importimiseks Pandad, võite kasutada objekti pd.read_csv().
  • Meetod groupby() aitab teil andmeid rühmade kaupa kokku võtta.
  • Saate rühmitada ka mitme veeru järgi. Näiteks võite saada maksimaalse kapitalikasumi vastavalt leibkonna tüübile ja perekonnaseisule.