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.