回答
如果你有实际NumPy的对象,你可以使用与NumPy的逻辑来决定这个(另外需要广播,看here):
def checkShapes(a, b):
try:
return (np.broadcast(a, b)).shape
except:
return (-1,)
谢谢!更普遍的情况将是完美的。有没有办法创建一个虚假的数组而不实际使用内存,这样我就可以使用np.broadcast? –
为什么你会在第一个片段中使用一维数组,为什么你在第二个片段中做了奇怪的'len'检查? – user2357112
@ user2357112我的错误是,我把数组看作一维数据,但看着文档,它可以有n个维度。至于奇怪的是,文档说:“受到一定的限制,较小的阵列在较大的阵列上”广播“,以便它们具有兼容的形状” –
- 1. NumPy ndarray广播形状(X,)与(X,1)
- 2. 在numpy广播
- 3. 广播与numpy的
- 4. Numpy广播阵列
- 5. numpy的广播阵列
- 6. 广播低于在NumPy的
- 7. ValueError异常:操作数无法与numpy的不同形状的广播一起?
- 8. ValueError:广播不兼容形状
- 9. numpy的错误沿轴线应用“ValueError异常:无法广播从形状(2)输入数组的形状(1)”
- 10. 不能从形状(3,1)广播输入数组到形状(3,)
- 11. 数组广播与numpy
- 12. Python,numpy:3维广播
- 13. 形状在numpy的
- 14. Python ValueError:具有形状(124,1)的非广播输出操作数与广播形状不匹配(124,13)
- 15. LSTM-Keras错误:ValueError:具有形状(67704,1)的非广播输出操作数与广播形状(67704,12)不匹配
- 16. Theano广播不同到numpy的的
- 17. 大MATVEC广播与numpy的和性能
- 18. numpy阵列上的广播交叉点
- 19. 取消广播numpy的阵列
- 20. NumPy的:广播+布尔索引
- 21. numpy的:从广播子矩阵
- 22. 广播高级索引numpy的
- 23. 无重复的Numpy广播示例
- 24. 到第三维度广播numpy的差
- 25. Numpy Array不同维度的广播
- 26. 关于numpy的形状
- 27. 形状不匹配:形状X的值数组无法广播到形状的索引结果。 。 。 X?
- 28. ValueError异常:不能从广播形状(80269269)输入阵列分成形状(80269234)
- 29. 形状不匹配:索引阵列不能与形状一起广播
- 30. ValueError异常:无法从形状(224,224,3)广播输入数组形状(224224)
对于“除了”你需要相同的形状。你的意思是连接数组吗? – roadrunner66
不,我不需要相同的形状:np.array([1,2])+ np.array([[10,1],[11,12]]) –
@ roadrunner66:听起来像你还没有听说过NumPy的一个很棒的功能,[广播](http://docs.scipy.org/doc/numpy-1.10.1/user/basics.broadcasting.html)。 – user2357112