首页 > 后端开发 > Python教程 > 如何在 Pandas 中高效处理大型数据帧:将其分块!

如何在 Pandas 中高效处理大型数据帧:将其分块!

Susan Sarandon
发布: 2024-10-27 07:57:03
原创
606 人浏览过

How to Efficiently Process Large DataFrames in Pandas: Chunk It Up!

Pandas - 将大型数据帧切成块

当尝试处理超大数据帧时,常见的障碍是可怕的内存错误。一种有效的解决方案是将数据帧划分为更小的、可管理的块。这种策略不仅减少了内存消耗,而且有利于高效处理。

要实现这一点,我们可以利用列表理解或 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>
登录后复制

NumPy array_split

<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 切片

要按 AcctName 值分割数据帧,请使用 groupby 方法:

<code class="python">list_df = []

for n, g in df.groupby('AcctName'):
    list_df.append(g)</code>
登录后复制

以上是如何在 Pandas 中高效处理大型数据帧:将其分块!的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板