Lorsque vous essayez 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.
<code class="python">n = 200000 # Chunk row size list_df = [df[i:i+n] for i in range(0, df.shape[0], n)]</code>
<code class="python">list_df = np.array_split(df, math.ceil(len(df) / n))</code>
Des morceaux individuels peuvent ensuite être récupérés en utilisant :
<code class="python">list_df[0] list_df[1] ...</code>
Pour réassembler les morceaux en une seule trame de données, utilisez pd.concat :
<code class="python"># Example: Concatenating by chunks rejoined_df = pd.concat(list_df)</code>
Pour diviser la trame de données par valeurs AcctName, utilisez la méthode groupby :
<code class="python">list_df = [] for n, g in df.groupby('AcctName'): list_df.append(g)</code>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!