我遇到了一个python问题,我尝试了各种方法,但都无法修复它。你能给我一些提示吗?你知道吗
sp_step = np.linspace(0.0,2.0,41) #### bin size is 50 Kpc
for jj in range(len(sp_step) -1):
if sp > sp_step[jj] and sp <= sp_step[jj+1]:
stack_num[jj] += 1
stack[jj] = map(add,stack[jj],flux_inteplt)
我定义了一个名为sp\u step的numpy数组,我要做的是使用变量sp来查找数据的哪一段,然后我将相应的数据进行堆栈。你知道吗
但上面说
if sp > sp_step[jj] and sp <= sp_step[jj+1]:
ValueError:包含多个元素的数组的真值不明确。使用a.any()或a.all()
我搜索了这个错误,试过了np.u和,但不起作用。你知道吗
谢谢。你知道吗
这是一个比较常见的问题。它是一些
numpy
测试产生多个值的结果,然后尝试在只需要一个值的Python上下文中使用这些值。你知道吗看看这个表达式(打印结果)
您可能需要添加一些()以确保在
&
(and
是Python期望标量布尔的运算符)之前执行这两个相等性测试。你知道吗要与
if
一起使用,它必须只返回一个值。你知道吗在测试
numpy
数组时,最好使用掩码而不是迭代。你知道吗一般来说,它比迭代更快,但是它需要重新思考问题。在任何情况下,
ValueError
都是多值numpy
逻辑操作与标量Python逻辑操作混合的结果。你知道吗相关问题 更多 >
编程相关推荐