Pandas read_csv() med Eksempel
Importer CSV i Pandas
I lรธpet av TensorFlow-opplรฆringen vil du bruke datasettet for voksne. Det brukes ofte med klassifiseringsoppgaver. Det er tilgjengelig i denne URL 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_bufferSti 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 gruppeping med datasettet for voksne. Du vil fรฅ gjennomsnittet av alle de kontinuerlige variablene etter inntektstype, dvs. over 50 000 eller under 50 000:
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 groupby.ping.
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.

