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

