拆分大型 Pandas 数据帧
在 Pandas 中处理大型数据集时,通常需要将数据帧拆分为较小的块进行处理或分配。但是,如果数组无法均分,直接使用 np.split 可能会导致错误。
使用 np.array_split
np.array_split 函数提供了更多将数组(包括数据帧)拆分为多个部分的灵活方法。与 np.split 不同,它允许部分的数量为不均匀划分轴的整数。
考虑以下示例,其中包含包含 423244 行的数据帧,我们希望将其分为 4 组:
<code class="python">In [1]: import pandas as pd In [2]: df = pd.DataFrame({ 'A': ['foo', 'bar', 'foo', 'bar'], 'B': ['one', 'one', 'two', 'three'], 'C': np.array([rand() for i in range(4)]), 'D': np.array([rand() for i in range(4)]) }) In [3]: print(df)</code>
要使用 np.array_split 将数据帧分成 4 组,我们可以:
<code class="python">In [4]: import numpy as np In [5]: sections = np.array_split(df, 4)</code>
sections 变量现在包含 4 个数据帧的列表,每个数据帧包含大约 105811 行。
处理大型数据帧时,考虑不同分割方法的计算成本和内存需求非常重要。 np.array_split 提供了一种通用且高效的解决方案,用于将数组划分为不相等的部分。
以上是如何有效地将大型 Pandas DataFrame 拆分为不相等的部分?的详细内容。更多信息请关注PHP中文网其他相关文章!