Heim  >  Artikel  >  Backend-Entwicklung  >  Wie kann man große Pandas-DataFrames effizient in ungleiche Abschnitte aufteilen?

Wie kann man große Pandas-DataFrames effizient in ungleiche Abschnitte aufteilen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-26 22:24:29220Durchsuche

How to Efficiently Split Large Pandas DataFrames into Non-Equal Sections?

Aufteilen großer Pandas-Datenrahmen

Bei der Arbeit mit großen Datensätzen in Pandas ist es häufig erforderlich, den Datenrahmen zur Verarbeitung oder Verarbeitung in kleinere Teile aufzuteilen Verteilung. Die direkte Verwendung von np.split kann jedoch zu einem Fehler führen, wenn das Array nicht gleichmäßig aufgeteilt werden kann.

Verwendung von np.array_split

Die Funktion np.array_split bietet mehr Flexibler Ansatz zum Aufteilen von Arrays, einschließlich Datenrahmen, in Abschnitte. Im Gegensatz zu np.split ermöglicht es, dass die Anzahl der Abschnitte eine ganze Zahl ist, die die Achse nicht gleichmäßig teilt.

Betrachten Sie das folgende Beispiel mit einem Datenrahmen mit 423244 Zeilen, die wir in 4 Gruppen aufteilen möchten:

<code class="python">In [1]:
import pandas as pd

In [2]:
df = pd.DataFrame({
    'A': ['foo', 'bar', 'foo', 'bar'],
    'B': ['one', 'one', 'two', 'three'],
    'C': np.array([rand() for i in range(4)]),
    'D': np.array([rand() for i in range(4)])
})

In [3]:
print(df)</code>

Um den Datenrahmen mit np.array_split in 4 Gruppen aufzuteilen, können wir:

<code class="python">In [4]:
import numpy as np

In [5]:
sections = np.array_split(df, 4)</code>

Die Abschnittsvariable enthält jetzt eine Liste von 4 Datenrahmen, von denen jeder ungefähr 105811 Zeilen enthält.

Beim Umgang mit großen Datenrahmen ist es wichtig, den Rechenaufwand und den Speicherbedarf verschiedener Aufteilungsmethoden zu berücksichtigen. np.array_split bietet eine vielseitige und effiziente Lösung zum Aufteilen von Arrays in ungleiche Abschnitte.

Das obige ist der detaillierte Inhalt vonWie kann man große Pandas-DataFrames effizient in ungleiche Abschnitte aufteilen?. 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