gpt4 book ai didi

python - 跨 numpy 矩阵的映射函数

转载 作者:行者123 更新时间:2023-11-28 22:20:35 27 4
gpt4 key购买 nike

有没有办法轻松地将函数映射到 numpy 数组中的每个值?我之前通过将它分成列表,使用列表理解和重新制作矩阵来完成它,但似乎必须有更简单的方法。

最佳答案

是的,您可以使用 np.vectorize()

>>> import numpy as np
>>> def myfunc(a, b):
... if a > b:
... return a - b
... else:
... return a + b
...
>>> vfunc = np.vectorize(myfunc)
>>> vfunc(np.array([[1,2,3],[1,2,3]]),2)
array([[3, 4, 1],
[3, 4, 1]])

有些情况下您不需要 np.vectorize(),您只需使用 np.array() 作为参数调用该函数,像这样:

>>> def add_one(x):
... return x + 1
...
>>> add_one(np.array([1,2,3,4]))
array([2, 3, 4, 5])
>>>

更多关于性能和使用的讨论可以在这里找到:

Most efficient way to map function over numpy array

关于python - 跨 numpy 矩阵的映射函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48846257/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com