Pandas read_csv() s primjerom
Uvezi CSV u Pandas
Tijekom vodiฤa za TensorFlow koristit ฤete skup podataka za odrasle. ฤesto se koristi sa zadatkom klasifikacije. Dostupno je na ovom URL-u https://archive.ics.uci.edu/ml/machine-learning-databases/adult/adult.data
Podaci se pohranjuju u CSV formatu. Ovaj skup podataka ukljuฤuje osam kategoriฤkih varijabli:
Ovaj skup podataka ukljuฤuje 8 kategoriฤkih varijabli:
- radna klasa
- obrazovanje
- braฤni
- okupacija
- odnos
- utrka
- seks
- rodna_zemlja
I, 6 kontinuiranih varijabli:
- starost
- fnlwgt
- obrazovanje_br
- kapitalni dobitak
- gubitak_kapitala
- sati_tjedan
Metoda Pandas read_csv().
Za uvoz CSV skupa podataka, moลพete koristiti objekt pd.read_csv(). Osnovni argument unutra je:
Pandas read_csv() Sintaksa
pandas.read_csv(filepath_or_buffer,sep=', ',`names=None`,`index_col=None`,`skipinitialspace=False`)
- filepath_or_buffer: Put ili URL s podacima
- ruj=', ': Definirajte graniฤnik koji ฤete koristiti
- `imena=Niลกta`: Imenujte stupce. Ako skup podataka ima deset stupaca, trebate proslijediti deset imena
- `index_col=Niลกta`: Ako da, prvi stupac koristi se kao indeks retka
- `skipinitialspace=False`: Preskoฤi razmake nakon razdjelnika.
Za viลกe informacija o read_csv(), provjerite sluลพbenu dokumentaciju:
https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_csv.html
Pandas read_csv() Primjer
## 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
Izlaz:
(32561, 15)
Pandas groupby() metoda
Jednostavan naฤin da vidite podatke je koriลกtenje metode groupby. Ova vam metoda moลพe pomoฤi da saลพmete podatke po skupinama. Ispod je popis metoda dostupnih s metodom groupby():
- brojati: brojati
- min: min
- max: maks
- znaฤiti: znaฤiti
- medijan: medijan
- standardna devijacija: sdt
- itd
Unutar groupby(), moลพete koristiti stupac na koji ลพelite primijeniti metodu.
Pogledajmo jedno grupiranje sa skupom podataka za odrasle. Dobit ฤete srednju vrijednost svih kontinuiranih varijabli prema vrsti prihoda, tj. iznad 50 tisuฤa ili ispod 50 tisuฤa:
df_train.groupby(['label']).mean()
| oznaka | starost | fnlwgt | obrazovanje_br | kapitalni dobitak | gubitak_kapitala | sati_tjedan |
|---|---|---|---|---|---|---|
| <= 50K | 36.783738 | 190340.86517 | 9.595065 | 148.752468 | 53.142921 | 38.840210 |
| > 50 K | 44.249841 | 188005.00000 | 11.611657 | 4006.142456 | 195.001530 | 45.473026 |
Moลพete dobiti minimalnu dob prema vrsti kuฤanstva:
df_train.groupby(['label'])['age'].min() label <=50K 17 >50K 19 Name: age, dtype: int64
Takoฤer moลพete grupirati prema viลกe stupaca. Na primjer, moลพete ostvariti maksimalnu kapitalnu dobit prema vrsti kuฤanstva i braฤnom statusu.
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
Moลพete stvoriti parcelu slijedeฤi groupby. Jedan od naฤina da to uฤinite je koriลกtenje dijagrama nakon grupiranja.
Da biste stvorili izvrsniji dijagram, upotrijebit ฤete unstack() nakon mean() tako da imate isti viลกerazinski indeks ili da pridruลพite vrijednosti prema prihodu niลพem od 50 tisuฤa i iznad 50 tisuฤa. U ovom sluฤaju, parcela ฤe imati dvije grupe umjesto 14 (2*7).
Ako koristite Jupyter Biljeลพnica, svakako dodajte %matplotlib inline, inaฤe se neฤe prikazati iscrtavanje
%matplotlib inline df_plot = df_train.groupby(['label', 'marital'])['capital_gain'].mean().unstack() df_plot
Rezime
- Za uvoz CSV skupa podataka pande, moลพete koristiti objekt pd.read_csv().
- Metoda groupby() moลพe vam pomoฤi da saลพmete podatke po grupama.
- Takoฤer moลพete grupirati prema viลกe stupaca. Na primjer, moลพete ostvariti maksimalnu kapitalnu dobit prema vrsti kuฤanstva i braฤnom statusu.

