Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich mehrere CSV-Dateien in einem einzigen Pandas-DataFrame in Python kombinieren?

Wie kann ich mehrere CSV-Dateien in einem einzigen Pandas-DataFrame in Python kombinieren?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-28 14:02:10890Durchsuche

How Can I Combine Multiple CSV Files into a Single Pandas DataFrame in Python?

Mehrere CSV-Dateien in einem einzigen DataFrame in Python zusammenführen

Das Ziel dieser Aufgabe besteht darin, mehrere CSV-Dateien aus einem Verzeichnis in einen einzelnen Pandas-DataFrame zu importieren. So erreichen Sie dies:

Erforderliche Bibliotheken importieren

Importieren Sie zunächst die erforderlichen Bibliotheken für die Dateiverwaltung und Datenbearbeitung:

import pandas as pd
import glob
import os

CSV-Dateien lesen und verketten

Um die CSV-Dateien zu lesen und zu verketten, befolgen Sie diese Schritte:

  1. Dateinamen abrufen: Verwenden Sie glob.glob(), um eine Liste der CSV-Dateinamen im angegebenen Verzeichnis abzurufen.
  2. Lesen Dateien und DataFrames erstellen: Jede CSV-Datei in einen Pandas-DataFrame einlesen.
  3. Verketten DataFrames:Verwenden Sie die Methode pd.concat(), um alle DataFrames in einem einzigen DataFrame zu verketten.

Code für die Verkettung

Hier ist ein Beispielcode, der diese Schritte kombiniert:

# Get file names
path = r"C:\DRO\DCL_rawdata_files"
filenames = glob.glob(os.path.join(path, "*.csv"))

dfs = []
for filename in filenames:
    dfs.append(pd.read_csv(filename, header=0))

# Concatenate data into one DataFrame
big_frame = pd.concat(dfs, ignore_index=True)

Hinzufügen von Identität zu DataFrames

Um zwischen Daten von verschiedenen zu unterscheiden Bei CSV-Dateien können Sie eine neue Spalte hinzufügen, um jede Datei zu identifizieren. Hier sind einige Optionen dafür:

Option 1: Dateinamen als Spalte hinzufügen

for df in dfs:
    df["file_name"] = df.file_name.str.split("\").str[-1].str.split(".")[0]

Option 2: Dateiquelle als hinzufügen Spalte

df["Source"] = np.repeat([f"File{i}" for i in range(len(dfs))], [len(df) for df in dfs])

Fazit

Indem Sie diese Schritte befolgen, können Sie mehrere CSV-Dateien effizient importieren Dateien in einem einzigen zusammenhängenden DataFrame in Python, was die Analyse und Verarbeitung von Daten aus verschiedenen Quellen erleichtert.

Das obige ist der detaillierte Inhalt vonWie kann ich mehrere CSV-Dateien in einem einzigen Pandas-DataFrame in Python kombinieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn