为什么遍历 pandas DataFrameGroupBy 对象只进行了一半就停止了

2024-06-28 19:14:26 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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

然后GRP将被发送到multiprocessing.Pool。我所观察到的是,循环停止约71%的方式和打破

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

col1是字符串列,而col2是float64。我以为是col2导致了这个问题,因为df.groupby(['col1']会在所有260k组中循环,但我不知道为什么和如何循环

使用的版本:0.23.3


Tags: 代码in应用程序dfforkeysmultiprocessingcol2
1条回答
网友
1楼 · 发布于 2024-06-28 19:14:26

我认为dataframe列包含NaN(缺少)值。使用fillna()函数用一些默认数据填充缺少的值

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

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

相关问题 更多 >