当尝试处理超大数据帧时,常见的障碍是可怕的内存错误。一种有效的解决方案是将数据帧划分为更小的、可管理的块。这种策略不仅减少了内存消耗,而且有利于高效处理。
要实现这一点,我们可以利用列表理解或 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>
要将块重新组装成单个数据帧,请使用 pd.concat:
<code class="python"># Example: Concatenating by chunks rejoined_df = pd.concat(list_df)</code>
要按 AcctName 值分割数据帧,请使用 groupby 方法:
<code class="python">list_df = [] for n, g in df.groupby('AcctName'): list_df.append(g)</code>
以上是如何在 Pandas 中高效处理大型数据帧:将其分块!的详细内容。更多信息请关注PHP中文网其他相关文章!