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.
n = 200000 # Chunk row size
list_df = [df[i:i n] for i in range(0, df.shape[0], n)]
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)
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)
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