Python在广播中出现ValueError,但形状正确
我在一个比较大的Python项目中遇到了问题。这个是我正在尝试实现的代码。我想找出在a0的哪个区间里,点a的坐标落在里面(实际上我需要处理的点会更多,但为了理解这个过程,我先用少量的点来试试。所以逐个处理这些点的方法对我来说行不通!)
len0 = 4
a0 = np.linspace(-1, 1, len0)
a10 = np.reshape(a0, (1, len0))
len1 = 8
a = np.linspace(-1, 1, len1)
a1 = np.reshape(a, (len1, 1))
check = ((a1\<a10\[1:\]) & (a1\>=a10\[:-1\]))
我收到了这个错误信息:
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
Cell In[25], line 9
6 a = np.linspace(-1, 1, len1)
7 a1 = np.reshape(a, (len1, 1))
----> 9 check = ((a1<a10[1:]) & (a1>=a10[:-1]))
10 check
ValueError: operands could not be broadcast together with shapes (8,1) (0,4)
虽然我特意把它们调整成了(8,1)和(1,4)的形状(而且我用.shape测试它们时,结果确实是(8,1)和(1,4))。你知道问题出在哪里吗?非常感谢!
0 个回答
暂无回答