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.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: