Data Wrangling

Effizientes Laden von Textdaten in Pandas

Spread the love

Pandas ist eine leistungsstarke Python-Bibliothek zur Datenmanipulation und -analyse, und das Laden von Daten aus Textdateien ist eine grundlegende Aufgabe. Dieser Artikel untersucht effiziente Methoden zum Importieren von Daten aus verschiedenen Textformaten in Pandas DataFrames.

Inhaltsverzeichnis

1. Laden von CSV- und durch Trennzeichen getrennten Dateien mit read_csv()

Die Funktion read_csv() ist das Arbeitstier für das Importieren von kommaseparierten Wertedateien (CSV). Ihre Vielseitigkeit erstreckt sich auf andere durch Trennzeichen getrennte Dateien, indem das Trennzeichen mithilfe des Parameters sep oder delimiter angegeben wird. Lassen Sie uns die Möglichkeiten untersuchen:


import pandas as pd

# Laden einer CSV-Datei
df_csv = pd.read_csv("data.csv")
print(df_csv.head()) #Verwendet head(), um nur die ersten paar Zeilen zur besseren Lesbarkeit anzuzeigen

# Laden einer tabulatorgetrennten Datei
df_tsv = pd.read_csv("data.tsv", sep="t")
print(df_tsv.head())

# Laden einer Datei mit einem Pipe als Trennzeichen
df_pipe = pd.read_csv("data.txt", delimiter="|")
print(df_pipe.head())

Über das grundlegende Laden hinaus bietet read_csv() leistungsstarke Parameter für eine feinkörnige Steuerung:

  • sep oder delimiter: Gibt das Trennzeichen an (Standard ist ‚,‘).
  • header: Zeilennummer(n) für Spaltennamen (Standard ist 0, verwenden Sie None für keine Kopfzeile).
  • names: Liste der Spaltennamen, falls keine Kopfzeile vorhanden ist.
  • index_col: Spalte, die als DataFrame-Index verwendet werden soll.
  • usecols: Auswahl bestimmter Spalten zur Verbesserung der Leistung.
  • nrows: Lesen Sie nur die ersten n Zeilen zur Vorschau großer Dateien.
  • skiprows: Überspringen der angegebenen Zeilen am Anfang.
  • encoding: Geben Sie die Dateicodierung an (z. B. ‚utf-8‘, ‚latin-1‘).
  • dtype: Geben Sie Datentypen für Spalten an
  • comment: Zeichen zum Kennzeichnen von Kommentarzeilen

2. Verarbeiten von Festbreiten-Dateien mit read_fwf()

Die Methode read_fwf() (read fixed-width formatted) ist entscheidend für Dateien, bei denen Spalten durch ihre feste Breite und nicht durch Trennzeichen definiert sind. Dies ist in älteren Systemen üblich.


import pandas as pd

# Definieren der Spaltenbreiten
colspecs = [(0, 10), (10, 20), (20, 30)]  # Spalten sind 10, 10 und 10 Zeichen breit

# Laden der Festbreiten-Datei
df_fwf = pd.read_fwf("data_fwf.txt", colspecs=colspecs, header=None)
df_fwf.columns = ['Column1', 'Column2', 'Column3']

print(df_fwf.head())

Wichtige Parameter für read_fwf() sind:

  • colspecs: Liste von Tupeln, die die Start- und Endpositionen der Spalten definieren.
  • widths: Alternative zu colspecs, die eine Liste von Spaltenbreiten bereitstellt.
  • header: Zeilennummer für die Kopfzeile (wie bei read_csv()).
  • names: Stellt Spaltennamen bereit (wie bei read_csv()).

3. Verwenden von read_table() für tabulatorgetrennte und andere durch Trennzeichen getrennte Dateien

read_table() ist weitgehend äquivalent zu read_csv() und verwendet standardmäßig ein Tabulatorzeichen (t) als Trennzeichen. Es ist ideal für tabulatorgetrennte Dateien (TSV), kann aber auch andere Trennzeichen verarbeiten, indem der Parameter sep angegeben wird. Es teilt alle Parameter von read_csv() und bietet ähnliche Flexibilität.


import pandas as pd

# Laden einer tabulatorgetrennten Datei
df_table = pd.read_table("data.tsv")
print(df_table.head())

# Angeben eines anderen Trennzeichens
df_table_custom = pd.read_table("data.txt", sep="|")
print(df_table_custom.head())

Pandas bietet robuste Tools für das effiziente Importieren von Daten aus verschiedenen Textdateiformaten. Die Auswahl der richtigen Methode hängt von der Struktur Ihrer Daten ab. Denken Sie daran, Codierungsprobleme zu beheben und fehlende Werte nach dem Laden zu behandeln.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert