通常,数组使用np.squeeze()压缩。在文档中,它说



但是我仍然想知道:为什么零和无量纲条目的形状为a?或换句话说:为什么a.shape = (2,1)(2,)同时存在?

最佳答案

除了这两件事之间的数学差异外,还有可预测性的问题。如果遵循您的建议,那么您绝对不会依赖数组的维度。因此,任何形式为my_array[x,y]的表达式都需要替换为首先检查my_array是否实际上是二维且在某个时候没有隐式squeeze的东西。与偶尔做的明确指定的squeeze相比,对代码的混淆可能更多。

实际上,甚至很难分辨出哪个轴已被移走,从而导致一系列新问题。

本着The Zen of PythonExplicit is better than implicit的精神,我们也可以说,相对于隐式数组转换,我们应该更喜欢显式squeeze

关于python - 为什么我们需要np.squeeze()?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34990652/

10-13 07:23
查看更多