python - 将函数映射到 numpy 数组,改变参数

标签 python arrays dictionary numpy currying

首先,让我向您展示代码:

a = array([...])
for n in range(10000):
    func_curry = functools.partial(func, y=n)
    result = array(map(func_curry, a))
    do_something_else(result)
    ...

我在这里所做的是尝试将 func 应用于数组,每次更改 func 第二个参数的值。这太慢了(每次迭代创建一个新函数肯定没有帮助),而且我也觉得我错过了 pythonic 的做法。有什么建议吗?

为我提供二维数组的解决方案是个好主意吗?我不知道,但也许是这样。

可能问题的答案:

  • 是的,这是(使用广义定义)优化问题(do_something_else() 隐藏了这一点)
  • 不,scipy.optimize 不起作用,因为我正在处理 bool 值,而且它似乎永远不会收敛。

最佳答案

你尝试过numpy.vectorize吗?

...
    vfunc_curry = vectorize(functools.partial(func, y=n))
    result = vfunc_curry(a)
...

关于python - 将函数映射到 numpy 数组,改变参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3977581/

相关文章:

python - Pandas 数据框获取最后一个非零列的值

python - -1 返回 python 列表中倒数第二个项目

python - 阻止网页中的 HTML 标记

PHP从输入插入到mysql变量值

PHP - 如何获取多维数组的特定值

swift - 同一对象不同地址。为什么?

python - 为多个 OS X 版本构建二进制 python 发行版

java - 重新分配数组

c++ - 无效的空指针 - C++ - VS2010

python - 遍历字典并获取键