Heim > Backend-Entwicklung > Python-Tutorial > 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!

Susan Sarandon
Freigeben: 2024-10-27 07:57:03
Original
605 Leute haben es durchsucht

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

Pandas – Große Datenrahmen in Stücke schneiden

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

<code class="python">n = 200000  # Chunk row size
list_df = [df[i:i+n] for i in range(0, df.shape[0], n)]</code>
Nach dem Login kopieren

NumPy array_split

<code class="python">list_df = np.array_split(df, math.ceil(len(df) / n))</code>
Nach dem Login kopieren

Einzelne Blöcke können dann wie folgt abgerufen werden:

<code class="python">list_df[0]
list_df[1]
...</code>
Nach dem Login kopieren

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>
Nach dem Login kopieren

Aufteilen nach AcctName

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>
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage