În acest tutorial, veți învăța:
- Importați CSV
- A se grupa cu
Importați CSV
În timpul tutorialului TensorFlow, veți utiliza setul de date pentru adulți. Este adesea folosit cu sarcina de clasificare. Este disponibil în acest URL https://archive.ics.uci.edu/ml/machine-learning-databases/adult/adult.data
Datele sunt stocate într-un format CSV. Acest set de date include opt variabile categorice:
Acest set de date include opt variabile categorice:
- clasa de lucru
- educaţie
- marital
- ocupaţie
- relaţie
- rasă
- sex
- tara de origine
în plus, șase variabile continue:
- vârstă
- fnlwgt
- număr_educare
- câștig de capital
- pierderea_capitalului
ore_saptamana
Pentru a importa un set de date CSV, puteți utiliza obiectul pd.read_csv (). Argumentul de bază din interior este:
Sintaxă:
pandas.read_csv(filepath_or_buffer,sep=', ',`names=None`,`index_col=None`,`skipinitialspace=False`)
- filepath_or_buffer: Calea sau adresa URL cu datele
- sep = ',': Definiți delimitatorul de utilizat
- `names = None`: denumiți coloanele. Dacă setul de date are zece coloane, trebuie să treceți zece nume
- `index_col = None`: Dacă da, prima coloană este utilizată ca index de rând
- `skipinitialspace = False`: Salt spații după delimitator.
Pentru mai multe informații despre readcsv (), vă rugăm să consultați documentația oficială
https://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_csv.html.
Luați în considerare următorul exemplu
## Import csvimport pandas as pd## Define path dataCOLUMNS = ['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
Ieșire:
(32561, 15)
A se grupa cu
O modalitate ușoară de a vedea datele este utilizarea metodei groupby. Această metodă vă poate ajuta să rezumați datele pe grupuri. Mai jos este o listă a metodelor disponibile cu groupby:
- conta: conta
- min: min
- max: max
- mean: mean
- median: median
- abaterea standard: sdt
- etc.
În interiorul grupului (), puteți utiliza coloana pe care doriți să aplicați metoda.
Să aruncăm o privire la o singură grupare cu setul de date pentru adulți. Veți obține media tuturor variabilelor continue în funcție de tipul de venit, adică peste 50k sau sub 50k
df_train.groupby(['label']).mean()
vârstă | fnlwgt | număr_educare | câștig de capital | pierderea_capitalului | ore_saptamana | |
eticheta | ||||||
<= 50K | 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 |
Puteți obține vârsta minimă după tipul de gospodărie
df_train.groupby (['eticheta']) ['vârsta']. min ()
label<=50K 17>50K 19Name: age, dtype: int64
De asemenea, puteți grupa după mai multe coloane. De exemplu, puteți obține câștigul de capital maxim în funcție de tipul gospodăriei și de starea civilă.
df_train.groupby(['label', 'marital'])['capital_gain'].max()label marital<=50K Divorced 34095Married-AF-spouse 2653Married-civ-spouse 41310Married-spouse-absent 6849Never-married 34095Separated 7443Widowed 6849>50K Divorced 99999Married-AF-spouse 7298Married-civ-spouse 99999Married-spouse-absent 99999Never-married 99999Separated 99999Widowed 99999Name: capital_gain, dtype: int64
Puteți crea un complot după grupul. O modalitate de a face acest lucru este să folosiți un complot după grupare.
Pentru a crea un grafic mai excelent, veți utiliza unstack () după mean () astfel încât să aveți același indice pe mai multe niveluri sau să vă alăturați valorilor cu venituri mai mici de 50k și peste 50k. În acest caz, complotul va avea două grupuri în loc de 14 (2 * 7).
Dacă utilizați Jupyter Notebook, asigurați-vă că adăugați% matplotlib inline, altfel, nu va fi afișat nici un complot
%matplotlib inlinedf_plot = df_train.groupby(['label', 'marital'])['capital_gain'].mean().unstack()df_plot