Heim > Artikel > Backend-Entwicklung > Wie teile ich einen großen Pandas-Datenrahmen in mehrere Teile auf, wenn die Anzahl der Zeilen nicht gleichmäßig teilbar ist?
Aufteilen großer Pandas-Datenrahmen in mehrere Teile
Bei der Arbeit mit riesigen Datensätzen ist es oft notwendig, diese in kleinere, überschaubare Teile aufzuteilen. Dies kann die Leistung verbessern, die Speichernutzung erhöhen und die Parallelverarbeitung erleichtern. In diesem Artikel gehen wir auf ein Problem ein, das beim Versuch, einen großen Pandas-Datenrahmen mit np.split() zu teilen, aufgetreten ist.
Verstehen des Problems
Der bereitgestellte Code Snippet verwendete np.split(), um einen Datenrahmen in vier Untergruppen zu unterteilen. Aufgrund einer ungleichen Division kam es jedoch zu einem ValueError. Dieser Fehler tritt auf, wenn die Anzahl der Elemente im Datenrahmen nicht gleichmäßig durch die gewünschte Anzahl von Teilungen teilbar ist.
Lösung: Verwendung von np.array_split()
Zur Behebung Für diese Herausforderung verwenden wir np.array_split(), eine vielseitigere Alternative zu np.split(). Wie in der Dokumentation angegeben, ermöglicht array_split() eine ungleiche Teilung, wodurch es für Situationen wie unsere geeignet ist.
Implementierung
Hier ist ein Python-Codebeispiel mit np. array_split(), um den Datenrahmen in vier Teile aufzuteilen:
<code class="python">import pandas as pd import numpy as np # Create a sample dataframe df = pd.DataFrame({'A': ['foo', 'bar', 'foo', 'bar', 'foo', 'bar', 'foo', 'foo'], 'B': ['one', 'one', 'two', 'three', 'two', 'two', 'one', 'three'], 'C': np.random.randn(8), 'D': np.random.randn(8)}) # Split the dataframe into four groups using array_split groups = np.array_split(df, 3) # Print the split groups for group in groups: print(group)</code>
Dadurch wird der Datenrahmen effektiv in drei ungefähr gleich große Gruppen aufgeteilt. Auf jede Gruppe kann unabhängig zugegriffen und sie verarbeitet werden, wodurch die anfängliche Herausforderung der ungleichen Aufteilung gelöst wird.
Das obige ist der detaillierte Inhalt vonWie teile ich einen großen Pandas-Datenrahmen in mehrere Teile auf, wenn die Anzahl der Zeilen nicht gleichmäßig teilbar ist?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!