python+numpy创建“真正准确的”一维阵列: (1,)而不是(n, )

版权声明:本文系作者原创,未经允许,禁止转载。 https://blog.csdn.net/qq_27261889/article/details/82975211

numpy好像没有直接的方法建立一维阵列

import numpy as np
number = np.array((1,10))
print(number.shape)
number = np.zeros(10)
print(number.shape)

在这里插入图片描述
可以看到这里并不能生成一维数据。
那么怎样才能生成一维阵列呢?

我们需要借助一个比较常用的函数:reshape
我们注意到这里reshape可以接受一个-1,最多只能接受一个。表示这个维度我们是未知的。
虽然我们直接不写-1,直接写1也是可以的。如下面的两幅图。
但是我推荐写-1,。
这里强调一点,python中维度很多时候是和其他平台不同,据我经验,与matlab很大不同。
因此,为了确保维度的正确性,我们在计算完之后都要用reshape进行强制变换一下
,所谓小心使得万年船。
在上篇博客里我就发现,numpy求一个矩阵最大数都是返回一个列向量,即使你是按行求最大值。例子的地址

import numpy as np
number = np.array((1,10))
print(number.shape)
number = np.zeros(10)
print(number.shape)
number = np.zeros(10).reshape(-1,10)
print(number.shape)

在这里插入图片描述

import numpy as np
number = np.array((1,10))
print(number.shape)
number = np.zeros(10)
print(number.shape)
number = np.zeros(10).reshape(-1,10)
print(number.shape)
number = np.zeros(10).reshape(1,10)
print(number.shape)

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_27261889/article/details/82975211