1

我正在使用显示进度条的 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 次:

上面运行的快照

我尝试手动传递总计,但出现以下错误:

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:类型对象为关键字参数“总计”获得了多个值

使用已弃用的旧代码格式可以工作:

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

使用已弃用的代码运行有效

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

4

0 回答 0