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