numpy中的shape的用法二

本文介绍了numpy库中创建和操作数组的方法,包括一维、二维及三维数组的表示。通过实例展示了`np.array()`函数的使用,以及`np.shape()`函数获取数组形状的功能。深入理解这些基础知识对于进行高效的数值计算至关重要。

b = [1,2,3]
a = np.array(b)
print(a)
np.shape(a)

输出为:
[1 2 3]
(3,)

b = [[1,2,3],[4,5,6]]
a = np.array(b)
print(a)
np.shape(a)

输出为:

[[1 2 3]
 [4 5 6]]
(2, 3)

b =[ [[1,2,3],[4,5,6]]]
a = np.array(b)

输出为:

[[[1 2 3]
  [4 5 6]]]
(1, 2, 3)
NumPy 中,`shape` 是 `numpy.ndarray` 对象的一个属性,用于表示数组的形状,即数组在各个维度上的大小。其返回值是一个元组(tuple),元组中的每个元素表示对应维度的长度。 对于不同维度的数组,`shape` 的表现形式如下: - 一维数组:返回一个包含单个元素的元组,表示该数组中元素的数量。例如一个包含 12 个元素的一维数组 `arr1`,其 `arr1.shape` 为 `(12,)`[^1]。 - 维数组:返回一个两个元素的元组,第一个元素表示行数,第个元素表示列数。例如一个由 4 个一维数组组成,每个一维数组有 3 个元素的维数组 `arr2`,其 `arr2.shape` 为 `(4, 3)`[^1]。 - 三维数组:返回一个三个元素的元组,分别表示三维数组中维数组的数量、每个维数组中的行数以及每行中的元素个数。例如一个由 1 个维数组组成,该维数组包含 4 行、每行有 3 个元素的三维数组 `arr3`,其 `arr3.shape` 为 `(1, 4, 3)`。 `shape` 属性不仅可以整体查看数组的形状,还可以通过索引访问特定维度的长度,例如 `shape[0]` 表示第一维度的长度,`shape[1]` 表示第维度的长度,依此类推。例如,对于一个维数组 `y`,`y.shape[0]` 表示行数,`y.shape[1]` 表示列数[^3]。 除了直接使用 `shape` 属性外,还可以通过 `numpy.shape()` 函数来获取数组的形状。该函数的输入参数可以是一个数组或矩阵,也可以是一个整数表示维度。例如: - 对于一个一维数组 `[1]`,`numpy.shape([1])` 返回 `(1L,)`。 - 对于一个维数组 `[[1], [2]]`,`numpy.shape([[1], [2]])` 返回 `(2L, 1L)`。 - 对于一个单独的数字 `3`,`numpy.shape(3)` 返回空元组 `()`[^2]。 此外,还可以将 `shape` 作为矩阵的方法调用。例如,创建一个 3x3 的单位矩阵 `e`,然后通过 `e.shape` 获取其形状 `(3L, 3L)`,或者通过 `e.shape[0]` 获取第一维度的长度 `3L`[^2]。 ### 示例代码 ```python import numpy as np # 创建一维数组 arr1 = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]) print("arr1.shape:", arr1.shape) # 输出 (12,) # 创建维数组 arr2 = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]]) print("arr2.shape:", arr2.shape) # 输出 (4, 3) # 创建三维数组 arr3 = np.array([[[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]]]) print("arr3.shape:", arr3.shape) # 输出 (1, 4, 3) # 使用 shape 获取特定维度的长度 print("arr2.shape[0]:", arr2.shape[0]) # 输出 4 print("arr2.shape[1]:", arr2.shape[1]) # 输出 3 # 使用 numpy.shape() 函数 print("np.shape([1]):", np.shape([1])) # 输出 (1,) print("np.shape([[1], [2]]):", np.shape([[1], [2]])) # 输出 (2, 1) print("np.shape(3):", np.shape(3)) # 输出 () # 创建单位矩阵并获取其形状 e = np.eye(3) print("e.shape:", e.shape) # 输出 (3, 3) print("e.shape[0]:", e.shape[0]) # 输出 3 ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值