Python 测试Numpy数组以查看它是否为列形式
在我的函数中,有时我得到的结果是二维形式的一维numpy数组,因此它的形状是nx1(n,1)。其他时候,我可能会以1xn array.shape=(1,n)的形式得到它 其他时候,我只得到一个形状为(n,)的numpy数组 当我运行以下测试时,一方面得到错误,另一方面得到假阳性(因为形状属性的长度显然总是大于1): 及 我只需要确保y的最终形状始终为(n,)形式,而不是(n,1)或(1,n).您应该使用:Python 测试Numpy数组以查看它是否为列形式,python,arrays,numpy,Python,Arrays,Numpy,在我的函数中,有时我得到的结果是二维形式的一维numpy数组,因此它的形状是nx1(n,1)。其他时候,我可能会以1xn array.shape=(1,n)的形式得到它 其他时候,我只得到一个形状为(n,)的numpy数组 当我运行以下测试时,一方面得到错误,另一方面得到假阳性(因为形状属性的长度显然总是大于1): 及 我只需要确保y的最终形状始终为(n,)形式,而不是(n,1)或(1,n).您应该使用: numpy.squence(a)从数组形状中删除一维项 例如: >>>
numpy.squence(a)
从数组形状中删除一维项
例如:
>>> x = np.array([[1,2,3]])
>>> x.shape
(1, 3)
>>> np.squeeze(x)
array([1, 2, 3])
>>> np.squeeze(x).shape
(3,)
你应使用:
numpy.squence(a)
从数组形状中删除一维项
例如:
>>> x = np.array([[1,2,3]])
>>> x.shape
(1, 3)
>>> np.squeeze(x)
array([1, 2, 3])
>>> np.squeeze(x).shape
(3,)
回答得好。我不知道这个方法。回答得好。不知道这个方法。
挤压
,拉威尔
和展平
都会做这个工作;但是阅读他们的文档,这样你就能理解他们之间的差异。挤压
,拉威尔
和展平
都能完成这项工作;但是阅读他们的文档,这样你就能理解他们的不同。
>>> x = np.array([[1,2,3]])
>>> x.shape
(1, 3)
>>> np.squeeze(x)
array([1, 2, 3])
>>> np.squeeze(x).shape
(3,)