Pandas read_csv() mit Beispiel

CSV in Pandas importieren

Während des TensorFlow-Tutorials verwenden Sie den Datensatz für Erwachsene. Es wird häufig bei Klassifizierungsaufgaben verwendet. Es ist unter dieser URL verfügbar https://archive.ics.uci.edu/ml/machine-learning-databases/adult/adult.data

Die Daten werden im CSV-Format gespeichert. Dieser Datensatz enthält acht kategoriale Variablen:

Dieser Datensatz enthält 8 kategoriale Variablen:

  • Arbeiterklasse
  • Ausbildung
  • ehelich
  • Beruf
  • Beziehung
  • Rennen
  • Sex
  • Heimatland

Und 6 kontinuierliche Variablen:

  • Alter
  • fnlwgt
  • education_num
  • Wertzuwachs
  • Kapitalverlust
  • Stunden_Woche

Pandas read_csv() Methode

Um einen CSV-Datensatz zu importieren, können Sie das Objekt pd.read_csv() verwenden. Das grundlegende Argument darin ist:

Pandas read_csv() Syntax

pandas.read_csv(filepath_or_buffer,sep=', ',`names=None`,`index_col=None`,`skipinitialspace=False`)
  • Dateipfad_oder_Puffer: Pfad oder URL mit den Daten
  • sep=', ': Definieren Sie das zu verwendende Trennzeichen
  • `Namen=Keine`: Benennen Sie die Spalten. Wenn der Datensatz zehn Spalten hat, müssen Sie zehn Namen übergeben
  • `index_col=Keine`: Wenn ja, wird die erste Spalte als Zeilenindex verwendet
  • `skipinitialspace=False`: Leerzeichen nach dem Trennzeichen überspringen.

Weitere Informationen zu read_csv() finden Sie in der offiziellen Dokumentation:

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

Pandas read_csv() Beispiel

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

Ausgang:

(32561, 15)

Pandas groupby()-Methode

Eine einfache Möglichkeit, die Daten anzuzeigen, ist die Verwendung der groupby-Methode. Diese Methode kann Ihnen helfen, die Daten nach Gruppen zusammenzufassen. Nachfolgend finden Sie eine Liste der mit der groupby()-Methode verfügbaren Methoden:

  • zählen: zählen
  • min: min
  • max: max
  • bedeuten: bedeuten
  • Median: Median
  • Standardabweichung: sdt
  • etc

Innerhalb von groupby() können Sie die Spalte verwenden, auf die Sie die Methode anwenden möchten.

Schauen wir uns eine einzelne Gruppierung mit dem Erwachsenendatensatz an. Sie erhalten den Mittelwert aller kontinuierlichen Variablen nach Umsatzart, also über 50 oder unter 50:

df_train.groupby(['label']).mean()
Etikette Alter fnlwgt education_num Wertzuwachs Kapitalverlust Stunden_Woche
<= 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

Das Mindestalter können Sie je nach Haushaltsart ermitteln:

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

Sie können auch nach mehreren Spalten gruppieren. So können Sie sich beispielsweise den maximalen Kapitalgewinn nach Haushaltstyp und Familienstand anzeigen lassen.

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

Sie können nach dem Gruppieren ein Diagramm erstellen. Eine Möglichkeit hierfür besteht darin, nach der Gruppierung ein Diagramm zu verwenden.

Um ein besseres Diagramm zu erstellen, verwenden Sie unstack() nach mean(), sodass Sie denselben mehrstufigen Index haben, oder Sie verbinden die Werte nach Umsatz unter 50 und über 50. In diesem Fall verfügt das Diagramm über zwei Gruppen statt 14 (2*7).

Wenn Du Jupyter Notizbuch, stellen Sie sicher, dass Sie %matplotlib inline hinzufügen, sonst wird kein Diagramm angezeigt

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

Beispiel für die Pandas-groupby()-Methode

Zusammenfassung

  • So importieren Sie einen CSV-Datensatz in Pandas, können Sie das Objekt pd.read_csv() verwenden.
  • Die Methode groupby() kann Ihnen dabei helfen, die Daten nach Gruppen zusammenzufassen.
  • Sie können auch nach mehreren Spalten gruppieren. So können Sie sich beispielsweise den maximalen Kapitalgewinn nach Haushaltstyp und Familienstand anzeigen lassen.