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

