„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > So verarbeiten Sie große Datenrahmen in Pandas effizient: Teilen Sie es auf!

So verarbeiten Sie große Datenrahmen in Pandas effizient: Teilen Sie es auf!

Veröffentlicht am 08.11.2024
Durchsuche:302

How to Efficiently Process Large DataFrames in Pandas: Chunk It Up!

Pandas – Große Datenrahmen in Blöcke zerteilen

Beim Versuch, übergroße Datenrahmen zu verarbeiten, ist der gefürchtete Speicherfehler ein häufiges Hindernis. Eine effektive Lösung besteht darin, den Datenrahmen in kleinere, überschaubare Abschnitte zu unterteilen. Diese Strategie reduziert nicht nur den Speicherverbrauch, sondern ermöglicht auch eine effiziente Verarbeitung.

Um dies zu erreichen, können wir entweder das Listenverständnis oder die NumPy-Funktion array_split nutzen.

Listenverständnis

n = 200000  # Chunk row size
list_df = [df[i:i n] for i in range(0, df.shape[0], n)]

NumPy array_split

list_df = np.array_split(df, math.ceil(len(df) / n))

Individuell Chunks können dann abgerufen werden mit:

list_df[0]
list_df[1]
...

Um die Blöcke wieder zu einem einzigen Datenrahmen zusammenzusetzen, verwenden Sie pd.concat:

# Example: Concatenating by chunks
rejoined_df = pd.concat(list_df)

Slicing nach AcctName

Um den Datenrahmen nach AcctName-Werten aufzuteilen, verwenden Sie die Groupby-Methode:

list_df = []

for n, g in df.groupby('AcctName'):
    list_df.append(g)
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3