【发布时间】:2015-12-20 14:09:33
【问题描述】:
目前我在处理 numpy.array - 4x1 - i.e 时遇到错误
[[-1.96113883]
[-3.46144244]
[ 5.075857 ]
[ 1.77550086]]
使用 lambda 函数 f = lambda x: x if (x > 0) else (x * 0.01)。
错误是ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()。
我在 stackoverflow.com 上搜索了不同的主题,但我没有找到任何令人满意的问题解释和适合我的案例(许多不清楚的引用 and 运算符、矢量化代码等)。
处理数组后我期望的是一个与输入维相同的数组,并且每个单个值都根据函数进行修改,例如:
[[-0.0196113883]
[-0.0346144244]
[ 5.075857 ]
[ 1.77550086]]
最后,谁能给我一个解决方案并解释为什么会发生这个错误。谢谢你的建议。
【问题讨论】:
标签: python arrays numpy lambda runtime-error