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.
<code class="python">n = 200000 # Chunk row size list_df = [df[i:i+n] for i in range(0, df.shape[0], n)]</code>
<code class="python">list_df = np.array_split(df, math.ceil(len(df) / n))</code>
Einzelne Blöcke können dann wie folgt abgerufen werden:
<code class="python">list_df[0] list_df[1] ...</code>
Um die Blöcke wieder zu einem einzigen Datenrahmen zusammenzusetzen, verwenden Sie pd.concat:
<code class="python"># Example: Concatenating by chunks rejoined_df = pd.concat(list_df)</code>
Um den Datenrahmen nach AcctName-Werten aufzuteilen, verwenden Sie die Groupby-Methode:
<code class="python">list_df = [] for n, g in df.groupby('AcctName'): list_df.append(g)</code>
Das obige ist der detaillierte Inhalt vonSo verarbeiten Sie große Datenrahmen in Pandas effizient: Teilen Sie es auf!. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!