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.