当尝试处理超大数据帧时,常见的障碍是可怕的内存错误。一种有效的解决方案是将数据帧划分为更小的、可管理的块。这种策略不仅减少了内存消耗,而且有利于高效处理。
要实现这一点,我们可以利用列表理解或 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))
然后可以检索各个块使用:
list_df[0]
list_df[1]
...
要将块重新组装成单个数据帧,请使用 pd.concat:
# Example: Concatenating by chunks
rejoined_df = pd.concat(list_df)
要按 AcctName 值分割数据帧,请使用 groupby 方法:
list_df = []
for n, g in df.groupby('AcctName'):
list_df.append(g)
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3