Selles õpetuses saate teada:
- Import CSV
- Groupby
Import CSV
TensorFlow õpetuse ajal kasutate täiskasvanute andmestikku. Seda kasutatakse sageli koos liigitusülesandega. See on saadaval selles URL-is https://archive.ics.uci.edu/ml/machine-learning-databases/adult/adult.data
Andmed salvestatakse CSV-vormingus. See andmekogum sisaldab kaheksat kategoorilist muutujat:
See andmekogum sisaldab kaheksat kategoorilist muutujat:
- tööklass
- haridus
- abieluline
- okupatsioon
- suhe
- võistlus
- sugu
- päritoluriik
lisaks kuus pidevat muutujat:
- vanus
- fnlwgt
- haridus_num
- kapital_kasum
- kapitali_kaotus
tundi_nädal
CSV-andmekogumi importimiseks võite kasutada objekti pd.read_csv (). Põhiargument sees on:
Süntaks:
pandas.read_csv(filepath_or_buffer,sep=', ',`names=None`,`index_col=None`,`skipinitialspace=False`)
- filepath_or_buffer: tee või URL koos andmetega
- sep = ',': määrake kasutatav eraldaja
- `nimed = Puudub`: nimetage veerud. Kui andmekogul on kümme veergu, peate edastama kümme nime
- "index_col = Puudub": kui jah, kasutatakse esimest veergu reaindeksina
- `skipinitialspace = False ': jätke tühikud pärast eraldajat vahele.
Readcsv () kohta lisateabe saamiseks kontrollige ametlikku dokumentatsiooni
https://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_csv.html.
Vaatleme järgmist näidet
## 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
Väljund:
(32561, 15)
Groupby
Lihtne viis andmete nägemiseks on groupby meetodi kasutamine. See meetod aitab teil andmeid rühmade kaupa kokku võtta. Allpool on loend meetoditest, mis grupiga saadaval on:
- loenda: loota
- min: min
- max: max
- tähendab: tähendab
- mediaan: mediaan
- standardhälve: sdt
- jne
Groupby () sees saate kasutada veergu, mida soovite meetodi rakendada.
Vaatame ühte rühma koos täiskasvanute andmekogumiga. Saate kõigi pidevate muutujate keskmise tululiigi järgi, st üle 50 k või alla 50 k
df_train.groupby(['label']).mean()
vanus | fnlwgt | haridus_num | kapital_kasum | kapitali_kaotus | tundi_nädal | |
silt | ||||||
<= 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 |
Vanuse alammäära saate leibkonna tüübi järgi
df_train.groupby (['silt']) ['vanus']. min ()
label<=50K 17>50K 19Name: age, dtype: int64
Samuti saate rühmitada mitme veeru kaupa. Näiteks võite saada maksimaalse kapitali kasvu vastavalt leibkonna tüübile ja perekonnaseisule.
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
Saate luua süžee järgmiselt groupby. Üks võimalus selleks on kasutada graafikut pärast rühmitamist.
Suurema graafiku loomiseks kasutage keskmist () järel unstacki (), et teil oleks sama mitmetasandiline indeks või ühendaksite väärtused väiksema kui 50k ja üle 50k tuluga. Sellisel juhul on graafikul 14 (2 * 7) asemel kaks rühma.
Kui kasutate Jupyteri märkmikku, lisage kindlasti% matplotlib inline, vastasel juhul ei kuvata ühtegi graafikut
%matplotlib inlinedf_plot = df_train.groupby(['label', 'marital'])['capital_gain'].mean().unstack()df_plot