tqdm df.progress_apply()函数计算错误的总迭代次数

时间:2017-02-08 01:35:34

标签: python progress-bar tqdm

我正在使用tqdm pandas progress_apply函数,它显示了一个进度条。它显示的迭代总数等于数据框中的最大列数(在我的情况下为14)而不是第43行。

df.shape
Out[131]:  (43, 14)

如果我跑:

tqdm.pandas(desc="Processing:")
df.progress_apply(extract_loc, axis =1)

它假设我有14次迭代而不是43次:

Snapshot of above run

我尝试手动传递总数但得到以下错误:

tqdm.pandas(desc="Processing:", total = len(df))
df.progress_apply(extract_loc, axis =1)
Traceback (most recent call last):
  File "/Users/kaswani/anaconda/envs/water/lib/python3.5/site-packages/IPython/core/interactiveshell.py", line 2881, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)
  File "<ipython-input-133-7da38f5c504e>", line 1, in <module>
    df.progress_apply(extract_loc, axis =1)
  File "/Users/kaswani/anaconda/envs/water/lib/python3.5/site-packages/tqdm/_tqdm.py", line 513, in inner
    t = tclass(*targs, total=total, **tkwargs)
  

TypeError:type object为关键字参数获取了多个值   &#39;总&#39;

使用旧的代码格式不推荐使用:

tqdm_pandas(tqdm(desc="Processing:", total = len(df)))
df.progress_apply(extract_loc, axis =1)

Running with the deprecated code works

有没有人遇到过类似的东西?我在这里先向您的帮助表示感谢。如果我可以手动将总值传递给代码来修复它。

0 个答案:

没有答案