Pandák olvassák a_csv() függvényt példával
CSV importálása a Pandasba
A TensorFlow oktatóanyaga során a felnőtt adatkészletet fogja használni. Gyakran használják osztályozási feladatokkal. 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 8 kategorikus változót tartalmaz:
- munkaosztály
- szabott oktatás
- házastársi
- foglalkozás
- kapcsolat
- verseny
- szex
- Szülőföld
És 6 folytonos változó:
- kor
- fnlwgt
- oktatási_szám
- tőkenyereség
- tőke_veszteség
- óra_hét
Pandák read_csv() módszer
CSV-adatkészlet importálásához használhatja a pd.read_csv() objektumot. Az alapvető érv belül a következő:
Pandák read_csv() Szintaxis
pandas.read_csv(filepath_or_buffer,sep=', ',`names=None`,`index_col=None`,`skipinitialspace=False`)
- fájlútvonal_vagy_puffer: Az adatok elérési útja vagy URL-je
- szep=',': Határozza meg a használandó határolót
- `names=Nincs`: Nevezze el az oszlopokat. Ha az adatkészlet tíz oszlopból áll, tíz nevet kell átadnia
- `index_col=Nincs: Ha igen, a rendszer az első oszlopot használja sorindexként
- `skipinitialspace=False`: Szóközök kihagyása a határoló után.
A read_csv()-ről további információkért tekintse meg a hivatalos dokumentációt:
https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_csv.html
Pandák read_csv() Példa
## 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
output:
(32561, 15)
Pandák groupby() Method
Az adatok megtekintésének egyszerű módja a groupby módszer. Ez a módszer segíthet az adatok csoportonkénti összefoglalásában. Az alábbiakban felsoroljuk a groupby() metódussal elérhető módszereket:
- szám: számol
- min: min
- max: max
- jelent: jelent
- medián: medián
- szórás: sdt
- stb.
A groupby()-en belül használhatja azt az oszlopot, amelyre alkalmazni szeretné a metódust.
Vessünk egy pillantást egyetlen csoportosításra a felnőtt adatkészlettel. Megkapja az összes folytonos változó átlagát a bevétel típusa szerint, azaz 50 50 felett vagy XNUMX XNUMX alatt:
df_train.groupby(['label']).mean()
címke | kor | fnlwgt | oktatási_szám | tőkenyereség | tőke_veszteség | óra_hét |
---|---|---|---|---|---|---|
<= 50 ezer | 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 minimális életkort háztartástípusonként kaphatja meg:
df_train.groupby(['label'])['age'].min() label <=50K 17 >50K 19 Name: age, dtype: int64
Több oszlop szerint is csoportosíthat. Például a háztartás típusa és a családi állapot szerint maximális tőkenyereséget kaphat.
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
Létrehozhat egy diagramot a következő csoport szerint. Ennek egyik módja a cselekmény használata a csoportosítás után.
Egy jobb cselekmény létrehozásához használja az unstack() függvényt az mean() után, hogy ugyanazt a többszintű indexet kapja, vagy 50 50 alatti és 14 2 feletti bevétellel kapcsolja össze az értékeket. Ebben az esetben a telek 7 (XNUMX*XNUMX) helyett két csoportos lesz.
Ha Jupyter jegyzetfüzet, győződjön meg róla, hogy a %matplotlib inline-t adja hozzá, különben nem jelenik meg a diagram
%matplotlib inline df_plot = df_train.groupby(['label', 'marital'])['capital_gain'].mean().unstack() df_plot
Összegzésként
- CSV-adatkészlet importálásához pandák, használhatja a pd.read_csv() objektumot.
- A groupby() metódus segíthet az adatok csoportonkénti összefoglalásában.
- Több oszlop szerint is csoportosíthat. Például a háztartás típusa és a családi állapot szerint maximális tőkenyereséget kaphat.