Pandat lukevat_csv():n esimerkin avulla

Tuo CSV Pandasiin

TensorFlow-opetusohjelman aikana käytät aikuisten tietojoukkoa. Sitä käytetään usein luokittelutehtävän kanssa. Se on saatavilla tästä URL-osoitteesta https://archive.ics.uci.edu/ml/machine-learning-databases/adult/adult.data

Tiedot tallennetaan CSV-muodossa. Tämä tietojoukko sisältää kahdeksan kategorista muuttujaa:

Tämä tietojoukko sisältää 8 kategorista muuttujaa:

  • työluokka
  • koulutus
  • avio-
  • ammatti
  • yhteys
  • rotu
  • sukupuoli
  • Kotimaa

Ja 6 jatkuvaa muuttujaa:

  • ikä
  • fnlwgt
  • koulutus_nm
  • myyntivoitto
  • pääoma_tappio
  • tuntia_viikko

Pandat read_csv() -menetelmä

Voit tuoda CSV-tietojoukon käyttämällä objektia pd.read_csv(). Perusargumentti sisällä on:

Pandas read_csv() Syntaksi

pandas.read_csv(filepath_or_buffer,sep=', ',`names=None`,`index_col=None`,`skipinitialspace=False`)
  • tiedostopolku_tai_puskuri: Polku tai URL-osoite tietojen kanssa
  • syys=',': Määritä käytettävä erotin
  • `names=Ei mitään`: Nimeä sarakkeet. Jos tietojoukossa on kymmenen saraketta, sinun on annettava kymmenen nimeä
  • `index_col=Ei mitään: Jos kyllä, ensimmäistä saraketta käytetään rivihakemistona
  • `skipinitialspace=False': Ohita välilyönnit erottimen jälkeen.

Lisätietoja read_csv(:stä) saat virallisesta dokumentaatiosta:

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

Pandat read_csv() Esimerkki

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

lähtö:

(32561, 15)

Pandat groupby() -menetelmä

Helppo tapa nähdä tiedot on käyttää groupby-menetelmää. Tämä menetelmä voi auttaa sinua tiivistämään tiedot ryhmittäin. Alla on luettelo menetelmistä, jotka ovat käytettävissä groupby()-metodilla:

  • laskea: laskea
  • min: min
  • max: max
  • tarkoittaa: tarkoittaa
  • mediaani: mediaani
  • keskihajonta: sdt
  • jne.

Sisällä groupby(), voit käyttää saraketta, johon haluat soveltaa menetelmää.

Tarkastellaanpa yhtä ryhmittelyä aikuisten tietojoukon kanssa. Saat kaikkien jatkuvien muuttujien keskiarvon tulotyypeittäin, eli yli 50 50 tai alle XNUMX XNUMX:

df_train.groupby(['label']).mean()
etiketti ikä fnlwgt koulutus_nm myyntivoitto pääoma_tappio tuntia_viikko
<= 50 XNUMX 36.783738 190340.86517 9.595065 148.752468 53.142921 38.840210
> 50 kt 44.249841 188005.00000 11.611657 4006.142456 195.001530 45.473026

Voit saada vähimmäisiän kotitaloustyypin mukaan:

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

Voit myös ryhmitellä useiden sarakkeiden mukaan. Voit esimerkiksi saada suurimman myyntivoiton kotitalouden tyypin ja siviilisäädyn mukaan.

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

Voit luoda kaavion ryhmäkohtaisesti. Yksi tapa tehdä se on käyttää kuvaajaa ryhmittelyn jälkeen.

Erinomaisemman juonen luomiseksi käytät unstack()-komentoa mean():n jälkeen, jotta sinulla on sama monitasoinen indeksi, tai yhdistät arvot tuloilla, jotka ovat alle 50 50 ja yli 14 2. Tässä tapauksessa tontilla on kaksi ryhmää 7 (XNUMX*XNUMX) sijaan.

Jos käytät Jupyter muistikirja, muista lisätä %matplotlib riviin, muuten kuvaajaa ei näytetä

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

Pandat groupby()-menetelmä Esimerkki

Yhteenveto

  • CSV-tietojoukon tuominen sisään Panda, voit käyttää objektia pd.read_csv().
  • Groupby()-menetelmä voi auttaa sinua tiivistämään tiedot ryhmittäin.
  • Voit myös ryhmitellä useiden sarakkeiden mukaan. Voit esimerkiksi saada suurimman myyntivoiton kotitalouden tyypin ja siviilisäädyn mukaan.