Lorsque vous tentez de traiter des trames de données surdimensionnées, un obstacle courant est la redoutable erreur de mémoire. Une solution efficace consiste à diviser la trame de données en morceaux plus petits et gérables. Cette stratégie réduit non seulement la consommation de mémoire, mais facilite également un traitement efficace.
Pour y parvenir, nous pouvons exploiter soit la compréhension de liste, soit la fonction NumPy array_split.
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))
Des morceaux individuels peuvent ensuite être récupérés en utilisant :
list_df[0]
list_df[1]
...
Pour réassembler les morceaux en une seule trame de données, utilisez pd.concat :
# Example: Concatenating by chunks
rejoined_df = pd.concat(list_df)
Pour diviser la trame de données par valeurs AcctName, utilisez la méthode groupby :
list_df = []
for n, g in df.groupby('AcctName'):
list_df.append(g)
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3