第一个维度(行数):由最外层方括号内的元素数量决定。这个例子中只有一个元素 [1, 2, 3],所以第一个维度的大小是 1

第二个维度(列数):由内层方括号内的元素数量决定。由于内层方括号 [1, 2, 3] 包含三个元素,所以第二个维度的大小是 3

因此,数组 x 的形状是 (1, 3),表示一个二维数组,其中有 1 行和 3 列。

使用 .shape 验证    : 在Python中,可以直接使用NumPy数组的 .shape 属性来获取数组的形状,无需手动计算:

print(x.shape)

这将输出 (1, 3),证明 x 是一个形状为 (1, 3) 的二维数组。

1.2 使用 ones,empty, zeros生成数组,形参shape=[2,3]为2行3列的维度
#in:   
np.ones(shape=[2,3]) #[2,3]为2行3列的维度
#out:  
array([[1., 1., 1.],
       [1., 1., 1.]])
#in:
np.zeros(shape=[3,4])
#out:
array([[0., 0., 0., 0.],
       [0., 0., 0., 0.],
       [0., 0., 0., 0.]])
#in:
np.empty(shape=[4,5]) #随机生成
#out:
array([[2.47053687e-316, 6.27463370e-322, 0.00000000e+000,
        0.00000000e+000, 1.78019625e-306],
       [5.30276956e+180, 3.31033942e-033, 4.57487963e-071,
        3.25824571e-086, 3.35560119e-143],
       [6.01433264e+175, 6.93885958e+218, 5.56218858e+180,
        3.94356143e+180, 7.18978022e-067],
       [2.90327285e-057, 2.08799593e-076, 6.82201766e-067,
        7.49078798e-144, 1.50008929e+248]])
1.3 使用linspace,arange生成数组(注意区间闭合)
#in:
np.linspace(0,99,10) #左闭右闭,等距生成数组,前两个数为区间,第三个数是步长
#out:
array([ 0., 11., 22., 33., 44., 55., 66., 77., 88., 99.])
#in:
np.arange(0,99,33) #左闭右开,第三个数是步长
#out:
array([ 0, 33, 66])
#in:
np.random.normal(0, 1, size=(8,10)) #在(0,1)区间随机生成维度为[8,10]的数组
#out:
array([[ 0.4889333 ,  0.52598919, -1.1787282 ,  0.92947144, -0.61411273,
        -0.40308503, -0.24170964, -1.65005546, -1.10860983, -1.17195597],
       [ 2.30153196,  0.08231435, -0.42151829,  0.23084481, -0.22912885,
         0.35418584,  0.18042856,  0.50218664, -0.06535679, -1.08141255],
       [ 0.78668497,  0.40467269, -2.15751968, -0.5284904 ,  0.61413254,
         0.38134191, -0.32608761, -0.80535812, -0.28665986, -0.46265705],
       [ 0.40831628,  1.1195378 , -0.19555259, -1.26725678,  0.06050092,
        -1.53074358, -0.46109896,  1.0585371 , -1.68785747, -0.38269948],
       [ 0.2533123 ,  0.7493127 , -0.39330055,  0.59872789,  1.23311894,
         1.56123508,  0.88216884, -0.11006012,  1.67101912,  0.36773784],
       [-0.01196778, -0.29989697, -0.10620468,  0.62047068, -0.35919101,
         0.14259044, -0.77929073,  1.07955841, -0.57254166, -0.75650875],
       [-0.38727358,  0.34665637,  0.28927818,  0.23179733,  0.22165409,
         0.3740697 , -0.03544985,  0.34657169, -0.21841557,  1.18743025],
       [-0.88678905, -1.13712659,  0.38860167, -0.43039802, -0.23007068,
         1.49646142, -0.60181792,  2.09735673, -1.08618737, -1.09159316]])
1.4 生成服从某种函数分布的数组(均匀分布,正态分布)
#in:
np.random.uniform(-1,1,100000) #均匀分布,前两个数是区间,第三个数是个数
#out:
array([ 0.15119225,  0.40014323, -0.05461068, ..., -0.98073734,
        0.75843808,  0.4539914 ])