Joe*_*Joe 0 python lambda numpy
lambda如果x等于零,我想使用a 将x加1.我尝试了以下表达式:
t = map(lambda x: x+1 if x==0 else x, numpy.array())
t = map(lambda x: x==0 and x+1 or x, numpy.array())
t = numpy.apply_along_axis(lambda x: x+1 if x==0 else x, 0, numpy.array())
Run Code Online (Sandbox Code Playgroud)
每个表达式都返回以下错误:
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
Run Code Online (Sandbox Code Playgroud)
我的理解map(),并numpy.apply_along_axis()是,它会采取一些功能,并将其应用到数组的每个值.从错误看来,lambda似乎被评估为x=array,而不是数组中的某些值.我究竟做错了什么?
我知道我可以编写一个函数来完成这个,但我想更熟悉python的函数编程方面.
| 归档时间: |
|
| 查看次数: |
971 次 |
| 最近记录: |