Tässä opetusohjelmassa opit:
- Tuo CSV
- Groupby
Tuo CSV
TensorFlow-opetusohjelman aikana käytät aikuisten tietojoukkoa. Sitä käytetään usein luokitustehtävissä. 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ää kahdeksan kategorista muuttujaa:
- työluokka
- koulutus
- avioliitto
- ammatti
- suhde
- rotu
- sukupuoli
- Kotimaa
lisäksi kuusi jatkuvaa muuttujaa:
- ikä
- fnlwgt
- koulutus_num
- myyntivoitto
- pääoman menetys
tuntia viikkoa
Voit tuoda CSV-tietojoukon käyttämällä objektia pd.read_csv (). Perusargumentti sisällä on:
Syntaksi:
pandas.read_csv(filepath_or_buffer,sep=', ',`names=None`,`index_col=None`,`skipinitialspace=False`)
- filepath_or_buffer: Polku tai URL-osoite tietojen kanssa
- sep = ',': Määritä käytettävä erotin
- `nimet = 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 riviindeksinä
- `skipinitialspace = False`: Ohita välilyönnit erotimen jälkeen.
Lisätietoja readcsv: stä () on virallisissa asiakirjoissa
https://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_csv.html.
Harkitse seuraavaa esimerkkiä
## 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
Tuotos:
(32561, 15)
Groupby
Helppo tapa nähdä tiedot on käyttää ryhmätapa-menetelmää. Tämä menetelmä voi auttaa sinua tiivistämään tiedot ryhmittäin. Alla on luettelo ryhmätyön käytettävissä olevista menetelmistä:
- count: count
- min: min
- max: max
- tarkoittaa: tarkoittaa
- mediaani: mediaani
- keskihajonta: sdt
- jne
Groupby (): n sisällä voit käyttää saraketta, johon haluat soveltaa menetelmää.
Katsotaanpa yksi ryhmittely aikuisten tietojoukon kanssa. Saat kaikkien jatkuvien muuttujien keskiarvon tulotyypin mukaan, eli yli 50 000 tai alle 50 000
df_train.groupby(['label']).mean()
ikä | fnlwgt | koulutus_num | myyntivoitto | pääoman menetys | tuntia viikkoa | |
etiketti | ||||||
<= 50 kt | 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 ikärajan kotitalouden tyypin mukaan
df_train.groupby (['label']) ['ikä']. min ()
label<=50K 17>50K 19Name: age, dtype: int64
Voit myös ryhmitellä useita sarakkeita. Voit esimerkiksi saada suurimman pääoman voiton kotitalouden tyypin ja siviilisäädyn mukaan.
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
Voit luoda juoni ryhmäkohtaisesti. Yksi tapa tehdä se on käyttää juoni ryhmittelyn jälkeen.
Erinomaisen kuvaajan luomiseksi käytetään unstackia () keskiarvon () jälkeen, jotta sinulla on sama monitasoinen indeksi, tai liität arvot tuloilla, jotka ovat alle 50 kt ja yli 50 000. Tässä tapauksessa juonessa on kaksi ryhmää 14: n (2 * 7) sijaan.
Jos käytät Jupyter Notebookia, muista lisätä% matplotlib inline, muuten juonia ei näytetä
%matplotlib inlinedf_plot = df_train.groupby(['label', 'marital'])['capital_gain'].mean().unstack()df_plot