Panda's read_csv() met voorbeeld

Importeer CSV in Panda's

Tijdens de TensorFlow-tutorial maak je gebruik van de dataset voor volwassenen. Het wordt vaak gebruikt bij classificatietaken. Het is beschikbaar op deze URL https://archive.ics.uci.edu/ml/machine-learning-databases/adult/adult.data

De gegevens worden opgeslagen in een CSV-formaat. Deze dataset bevat acht categorische variabelen:

Deze dataset bevat 8 categorische variabelen:

  • werkklas
  • onderwijs
  • marivan
  • bezetting
  • verwantschap
  • race
  • geslacht
  • geboorteland

En 6 continue variabelen:

  • leeftijd
  • fnlwgt
  • onderwijs_num
  • kapitaal_winst
  • kapitaal_verlies
  • hours_week

Panda's read_csv() Methode

Om een ​​CSV-dataset te importeren, kunt u het object pd.read_csv() gebruiken. Het basisargument daarin is:

Panda's read_csv() Syntaxis

pandas.read_csv(filepath_or_buffer,sep=', ',`names=None`,`index_col=None`,`skipinitialspace=False`)
  • bestandspad_of_buffer: Pad of URL met de gegevens
  • sep=', ': definieer het scheidingsteken dat u wilt gebruiken
  • `namen=Geen`: Geef de kolommen een naam. Als de dataset tien kolommen heeft, moet u tien namen doorgeven
  • `index_col=Geen`: Zo ja, dan wordt de eerste kolom gebruikt als rijindex
  • `skipinitialspace=False`: Spaties na scheidingsteken overslaan.

Raadpleeg de officiële documentatie voor meer informatie over read_csv():

https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_csv.html

Panda's read_csv() Voorbeeld

## 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

Output:

(32561, 15)

Panda's groupby() Methode

Een gemakkelijke manier om de gegevens te bekijken is door de groupby-methode te gebruiken. Deze methode kan u helpen bij het optellenmarize de gegevens per groep. Hieronder vindt u een lijst met methoden die beschikbaar zijn met de groupby()-methode:

  • tellen: tellen
  • min: min
  • maximaal: maximaal
  • bedoel: gemeen
  • mediaan: mediaan
  • standaardafwijking: sdt
  • etc

Binnen groupby() kunt u de kolom gebruiken waarop u de methode wilt toepassen.

Laten we eens kijken naar een enkele groepering met de dataset voor volwassenen. U krijgt het gemiddelde van alle continue variabelen per type omzet, dat wil zeggen boven de 50 of onder de 50:

df_train.groupby(['label']).mean()
label leeftijd fnlwgt onderwijs_num kapitaal_winst kapitaal_verlies hours_week
<= 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

Je kunt de minimumleeftijd per huishoudenstype krijgen:

df_train.groupby(['label'])['age'].min()
label
<=50K    17
>50K     19
Name: age, dtype: int64

U kunt ook op meerdere kolommen groeperen. Afhankelijk van het type huishouden kunt u bijvoorbeeld de maximale vermogenswinst behalen marital status.

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

U kunt een plot-follo makenwing gegroepeerd. Eén manier om dit te doen is door na de groepering een plot te gebruiken.

Om een ​​beter plot te creëren, gebruik je unstack() na mean() zodat je dezelfde index op meerdere niveaus hebt, of je voegt de waarden samen bij opbrengsten lager dan 50k en hoger dan 50k. In dit geval zal de plot twee groepen hebben in plaats van 14 (2*7).

Als u gebruik maken van Jupyter Notitieboek, zorg ervoor dat u %matplotlib inline, otherwise, geen enkel plot zal worden weergegevenyed

%matplotlib inline
df_plot = df_train.groupby(['label', 'marital'])['capital_gain'].mean().unstack()
df_plot

Panda's groupby() methode Voorbeeld

Samengevat

  • Om een ​​CSV-gegevensset te importeren in Pandas, kunt u het object pd.read_csv() gebruiken.
  • De methode groupby() kan u helpen bij het optellenmarize de gegevens per groep.
  • U kunt ook op meerdere kolommen groeperen. Afhankelijk van het type huishouden kunt u bijvoorbeeld de maximale vermogenswinst behalen marital status.