返回

python-如何在numpy上映射函数,并在每个变量上设置条件?

发布时间:2022-07-06 09:55:27 192
# node.js

我在尝试在numpy数组上映射此函数时遇到此错误:

>>> a = np.array([1, 2, 3, 4, 5])
>>> g = lambda x: 0 if x % 2 == 0 else 1
>>> g(a)
Traceback (most recent call last):
  File "", line 1, in 
  File "", line 1, in 
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()     

我期待结果array([ 1,  0,  1, 0, 1])

在这种情况下工作正常时:

>>> f = lambda x: x ** 2
>>> f(a)
array([ 1,  4,  9, 16, 25])

我该怎么做才能将函数g映射到数组上a比for循环更快,最好使用numpy更快的代码?

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(2)
按点赞数排序
用户头像