Pandas read_csv() med Eksempel
Importer CSV i Pandas
Under TensorFlow-opplæringen vil du bruke voksendatasettet. Det brukes ofte med klassifiseringsoppgave. Den er tilgjengelig i denne URL-en https://archive.ics.uci.edu/ml/machine-learning-databases/adult/adult.data
Dataene lagres i et CSV-format. Dette datasettet inkluderer åtte kategoriske variabler:
Dette datasettet inkluderer 8 kategoriske variabler:
- arbeidsklasse
- utdanning
- ekteskapelig
- okkupasjon
- forholdet
- rase
- kjønn
- native_country
Og 6 kontinuerlige variabler:
- alder
- fnlwgt
- utdanning_nummer
- kapitalgevinst
- kapitaltap
- timer_uke
Pandas read_csv() Metode
For å importere et CSV-datasett kan du bruke objektet pd.read_csv(). Det grunnleggende argumentet inni er:
Pandas read_csv() Syntaks
pandas.read_csv(filepath_or_buffer,sep=', ',`names=None`,`index_col=None`,`skipinitialspace=False`)
- filbane_eller_buffer: Bane eller URL med dataene
- sep=', ': Definer skilletegnet som skal brukes
- `names=Ingen`: Navngi kolonnene. Hvis datasettet har ti kolonner, må du sende ti navn
- `index_col=Ingen`: Hvis ja, brukes den første kolonnen som en radindeks
- `skipinitialspace=False`: Hopp over mellomrom etter skilletegn.
For mer informasjon om read_csv(), vennligst sjekk den offisielle dokumentasjonen:
https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_csv.html
Pandas read_csv() Eksempel
## 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
Utgang:
(32561, 15)
Pandas groupby() Metode
En enkel måte å se dataene på er å bruke groupby-metoden. Denne metoden kan hjelpe deg med å oppsummere dataene etter gruppe. Nedenfor er en liste over metoder tilgjengelig med groupby()-metoden:
- telle: telle
- min: min
- maks: maks
- mener: mener
- median: median
- standardavvik: sdt
- etc
Inne i groupby(), kan du bruke kolonnen du vil bruke metoden.
La oss ta en titt på en enkelt gruppering med voksendatasettet. Du vil få gjennomsnittet av alle de kontinuerlige variablene etter type inntekt, dvs. over 50k eller under 50k:
df_train.groupby(['label']).mean()
etikett | alder | fnlwgt | utdanning_nummer | kapitalgevinst | kapitaltap | timer_uke |
---|---|---|---|---|---|---|
<= 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 etter husholdningstype:
df_train.groupby(['label'])['age'].min() label <=50K 17 >50K 19 Name: age, dtype: int64
Du kan også gruppere etter flere kolonner. For eksempel kan du få maksimal kapitalgevinst i henhold til husholdningstype og sivilstand.
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
Du kan lage et plott etter groupby. En måte å gjøre det på er å bruke et plott etter grupperingen.
For å lage et mer utmerket plot, vil du bruke unstack() etter mean() slik at du har den samme indeksen på flere nivåer, eller du slår sammen verdiene med omsetning lavere enn 50k og over 50k. I dette tilfellet vil tomten ha to grupper i stedet for 14 (2*7).
Hvis du bruker Jupyter bærbare, sørg for å legge til %matplotlib inline, ellers vil ingen plott bli vist
%matplotlib inline df_plot = df_train.groupby(['label', 'marital'])['capital_gain'].mean().unstack() df_plot
Sammendrag
- For å importere et CSV-datasett inn pandaer, kan du bruke objektet pd.read_csv().
- groupby()-metoden kan hjelpe deg med å oppsummere dataene etter gruppe.
- Du kan også gruppere etter flere kolonner. For eksempel kan du få maksimal kapitalgevinst i henhold til husholdningstype og sivilstand.