Ebben az oktatóanyagban megtudhatja:
- CSV importálása
- Csoportosít
CSV importálása
A TensorFlow oktatóprogram során a felnőttek adatkészletét fogja használni. Gyakran használják osztályozási feladattal. Ezen az URL-en érhető el: https://archive.ics.uci.edu/ml/machine-learning-databases/adult/adult.data
Az adatokat CSV formátumban tároljuk. Ez az adatkészlet nyolc kategorikus változót tartalmaz:
Ez az adatkészlet nyolc kategorikus változót tartalmaz:
- munkahely
- oktatás
- házassági
- Foglalkozása
- kapcsolat
- verseny
- szex
- Szülőföld
ráadásul hat folyamatos változó:
- kor
- fnlwgt
- oktatás_szám
- tőkenyereség
- tőke_veszteség
óra_ hét
CSV-adatkészlet importálásához használhatja a pd.read_csv () objektumot. Az alapvető érv a következő:
Szintaxis:
pandas.read_csv(filepath_or_buffer,sep=', ',`names=None`,`index_col=None`,`skipinitialspace=False`)
- filepath_or_buffer: Útvonal vagy URL az adatokkal
- sep = ',': Adja meg a használni kívánt elválasztót
- `names = Nincs`: Nevezze meg az oszlopokat. Ha az adatkészletnek tíz oszlopa van, akkor tíz nevet kell átadnia
- `index_col = Nincs`: Ha igen, akkor az első oszlopot használjuk sorindexként
- `skipinitialspace = Hamis`: A szóközök elhagyása a határoló után.
Ha többet szeretne tudni a readcsv () fájlról, kérjük, olvassa el a hivatalos dokumentációt
https://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_csv.html.
Tekintsük a következő példát
## 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
Kimenet:
(32561, 15)
Csoportosít
Az adatok megtekintésének egyszerű módja a groupby módszer használata. Ez a módszer segíthet az adatok csoportonkénti összegzésében. Az alábbiakban felsoroljuk a groupby által elérhető módszereket:
- count: count
- min: min
- max: max
- jelentése: jelentése
- medián: medián
- szórás: sdt
- stb.
A groupby () belsejében használhatja azt az oszlopot, amelyet alkalmazni szeretne.
Vessünk egy pillantást egyetlen csoportosításra a felnőttek adatkészletével. Megkapja az összes folyamatos változó átlagát a bevétel típusa szerint, azaz 50 ezer felett vagy 50 ezer alatt
df_train.groupby(['label']).mean()
kor | fnlwgt | oktatás_szám | tőkenyereség | tőke_veszteség | óra_ hét | |
címke | ||||||
<= 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 |
A háztartás típusa szerint megadhatja a minimális életkorot
df_train.groupby (['label']) ['age']. min ()
label<=50K 17>50K 19Name: age, dtype: int64
Csoportosíthat több oszlop szerint is. Például a háztartás típusának és családi állapotának megfelelően kaphatja meg a maximális tőkenyereséget.
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
Létrehozhat egy diagramot a groupby nyomán. Ennek egyik módja az, hogy a csoportosítás után használjon egy diagramot.
Kiválóbb grafikon létrehozásához használja az unstack () értéket a mean () után, hogy ugyanaz a többszintű indexe legyen, vagy 50k-nál alacsonyabb és 50k-nál nagyobb bevétellel egyesíti az értékeket. Ebben az esetben a cselekménynek két csoportja lesz 14 helyett (2 * 7).
Ha Jupyter Notebookot használ, ne felejtse el inline hozzáadni a% matplotlib szót, különben nem jelenik meg ábra
%matplotlib inlinedf_plot = df_train.groupby(['label', 'marital'])['capital_gain'].mean().unstack()df_plot