通常,数组使用np.squeeze()
压缩。在文档中,它说
但是我仍然想知道:为什么零和无量纲条目的形状为a?或换句话说:为什么a.shape = (2,1)
和(2,)
同时存在?
最佳答案
除了这两件事之间的数学差异外,还有可预测性的问题。如果遵循您的建议,那么您绝对不会依赖数组的维度。因此,任何形式为my_array[x,y]
的表达式都需要替换为首先检查my_array
是否实际上是二维且在某个时候没有隐式squeeze
的东西。与偶尔做的明确指定的squeeze
相比,对代码的混淆可能更多。
实际上,甚至很难分辨出哪个轴已被移走,从而导致一系列新问题。
本着The Zen of Python和Explicit is better than implicit
的精神,我们也可以说,相对于隐式数组转换,我们应该更喜欢显式squeeze
。
关于python - 为什么我们需要np.squeeze()?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34990652/