當嘗試處理超大資料幀時,常見的障礙是可怕的記憶體錯誤。一種有效的解決方案是將資料幀劃分為更小的、可管理的區塊。這種策略不僅減少了記憶體消耗,而且有利於高效處理。
要實現這一點,我們可以利用列表理解或 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>
然後可以使用以下方式檢索各個區塊:
<code class="python">list_df[0] list_df[1] ...</code>
然後可以使用以下方式檢索各個區塊:
<code class="python"># Example: Concatenating by chunks rejoined_df = pd.concat(list_df)</code>
按AcctName 切片
<code class="python">list_df = [] for n, g in df.groupby('AcctName'): list_df.append(g)</code>要按AcctName 值分割資料幀,請使用groupby 方法:
以上是如何在 Pandas 中高效處理大型資料幀:將其分塊!的詳細內容。更多資訊請關注PHP中文網其他相關文章!