python - tqdm 和 numpy 向量化

标签 python numpy tqdm

我正在使用 np.vectorize -ed 函数,并希望通过 tqdm 查看函数的进度.但是,我一直无法弄清楚如何做到这一点。

我发现的所有建议都与将计算转换为 for 循环或 pd.DataFrame 相关。

最佳答案

据我所知,tqdm不包裹numpy.vectorize .

要显示 numpy 数组的进度条,numpy.ndenumerate可以使用。

给定输入和函数:

import numpy as np
from tqdm import tqdm

a = np.array([1, 2, 3, 4])
b = 2
def myfunc(a, b):
    "Return a-b if a>b, otherwise return a+b"
    if a > b:
        return a - b
    else:
        return a + b

替换下面这个矢量化部分

# using numpy.vectorize
vfunc = np.vectorize(myfunc)
vfunc(a, b)

有了这个

# using numpy.ndenumerate instead
[myfunc(x,b) for index, x in tqdm(np.ndenumerate(a))]

tqdm进步。

关于python - tqdm 和 numpy 向量化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57797533/

相关文章:

python - 如何找到数值、分类(MCQ-单项响应)和(MCQ-多重响应)之间的相关性?

python - 汇总 Pandas 时间戳

python - ParameterError:数据必须为numpy.ndarray类型(使用Librosa时)

pandas - 如何检查具有多种类型的列中的数据类型? -寻找更好的解决方案

performance - 加速结构化 NumPy 数组

python - 在 tqdm 进度条下方打印文本

python - python中十折分类并使用lib svm计算准确率

python - 用 BeautifulSoup 抓取元内容

python - 不同Python环境中的tqdm变化