numpy的array的shape为(100,)是什么意思?为什么第二个参数缺失?

s1的shape为什么不是(100,1)而是(100,).第二个参数代表了什么意思啊?谢谢

import numpy as np 
s1=np.array([])
for i in range(0,100):
    s1=np.append(s1,np.random.normal(0,1))
print(s1.shape)
====
(100,)
阅读 10.5k
1 个回答

shape()返回的是数据作为矩阵时每个维度的长度.
比如:

arr1 = np.array([
    [1, 2],
    [1, 2]
])
arr1.shape # (2, 2)

arr2 = np.array([
    [1, 2, 3],
    [1, 2, 3]
])
arr2.shape # (2, 3)

arr3 = np.array([
    [
        [1, 2, 3, 4],
        [1, 2, 3, 4],
        [1, 2, 3, 4]
    ],
    [
        [1, 2, 3, 4],
        [1, 2, 3, 4],
        [1, 2, 3, 4]
    ]
])
arr3.shape # (2, 3, 4)

你给的例子是一个一维数组, 因此shape的长度只有1, 而且最外层的长度为 100, 所以 shape=(100,).
参考:numpy.ndarray.shape

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏