I denne vejledning lærer du:
- Importer CSV
- Groupby
Importer CSV
Under TensorFlow-selvstudiet bruger du voksendatasættet. Det bruges ofte med klassificeringsopgave. Den er tilgængelig i denne URL https://archive.ics.uci.edu/ml/machine-learning-databases/adult/adult.data
Dataene gemmes i et CSV-format. Dette datasæt indeholder otte kategoriske variabler:
Dette datasæt indeholder otte kategoriske variabler:
- arbejdsklasse
- uddannelse
- ægteskab
- beskæftigelse
- forhold
- race
- køn
- oprindelses land
desuden seks kontinuerlige variabler:
- alder
- fnlwgt
- uddannelsesnummer
- kapital_gevinst
- kapital-tab
timer_uge
For at importere et CSV-datasæt kan du bruge objektet pd.read_csv (). Det grundlæggende argument indeni er:
Syntaks:
pandas.read_csv(filepath_or_buffer,sep=', ',`names=None`,`index_col=None`,`skipinitialspace=False`)
- filepath_or_buffer: Sti eller URL med dataene
- sep = ',': Definer den afgrænser, der skal bruges
- 'names = None': Navngiv kolonnerne. Hvis datasættet har ti kolonner, skal du sende ti navne
- `index_col = Ingen ': Hvis ja, bruges den første kolonne som et rækkeindeks
- `skipinitialspace = False`: Spring mellemrum over efter afgrænsning.
For mere information om readcsv (), se venligst den officielle dokumentation
https://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_csv.html.
Overvej følgende eksempel
## 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
Produktion:
(32561, 15)
Groupby
En nem måde at se dataene på er at bruge groupby-metoden. Denne metode kan hjælpe dig med at opsummere dataene efter gruppe. Nedenfor er en liste over tilgængelige metoder med groupby:
- tælle: tælle
- min: min
- maks: maks
- betyder: middel
- median: median
- standardafvigelse: sdt
- etc
Inde i groupby () kan du bruge den kolonne, du vil anvende metoden.
Lad os se på en enkelt gruppering med voksendatasættet. Du får gennemsnittet af alle de kontinuerlige variabler efter type indtægter, dvs. over 50k eller under 50k
df_train.groupby(['label']).mean()
alder | fnlwgt | uddannelsesnummer | kapital_gevinst | kapital-tab | timer_uge | |
etiket | ||||||
<= 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 |
Du kan få minimumsalderen efter husstandstype
df_train.groupby (['label']) ['age']. min ()
label<=50K 17>50K 19Name: age, dtype: int64
Du kan også gruppere efter flere kolonner. For eksempel kan du få den maksimale kapitalgevinst i henhold til husstandstypen og civilstand.
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
Du kan oprette et plot efter groupby. En måde at gøre det på er at bruge et plot efter grupperingen.
For at skabe et mere fremragende plot, bruger du unstack () efter middel (), så du har det samme indeks på flere niveauer, eller du slutter dig til værdierne ved en omsætning på under 50k og over 50k. I dette tilfælde vil plottet have to grupper i stedet for 14 (2 * 7).
Hvis du bruger Jupyter Notebook, skal du sørge for at tilføje% matplotlib inline, ellers vises intet plot
%matplotlib inlinedf_plot = df_train.groupby(['label', 'marital'])['capital_gain'].mean().unstack()df_plot