为什么遍历熊猫DataFrameGroupBy对象的过程中途停止

时间:2018-08-10 05:37:28

标签: python pandas pandas-groupby

我正在尝试并行化DataFrameGroupBy的应用程序操作,因此我编写了如下代码

keys, grps = [], []
for k, g in tqdm(df.groupby(['col1', 'col2'])):
    keys.append(k)
    grps.append(g)

,然后将grps发送到multiprocessing.Pool。我观察到的是,循环停止了大约71%的行程和中断。

71%|███████▏  | 185000/260000 [00:25<00:10, 7353.74it/s]

col1是一列字符串,而col2是float64。我想是由col2引起的问题,因为df.groupby(['col1']会遍历所有260k组,但我不知道为什么以及如何。

使用的熊猫版本:0.23.3

1 个答案:

答案 0 :(得分:1)

我认为数据框列包含NaN(缺失)值。利用 fillna()函数用一些默认数据填充缺失值。

for column in df:
    df[column]=df[column].fillna(0)

在groupby语句之前使用上面的代码。