NumPy 数组创建方法与索引访问详解

打印 上一主题 下一主题

主题 853|帖子 853|积分 2561

NumPy 创建数组

NumPy 中的核心数据布局是 ndarray,它代表多维数组。NumPy 提供了多种方法来创建 ndarray 对象,包括:
使用 array() 函数

array() 函数是最常用的方法之一,它可以将 Python 列表、元组甚至其他数组转换为 ndarray 对象。
语法:
  1. ndarray = np.array(data, dtype=dtype, order=order)
复制代码
参数阐明:
data:可以是 Python 列表、元组或其他数组。
dtype:指定数组元素的数据范例,默以为 float64。
order:指定数组元素的内存存储顺序,默以为 C 顺序(行优先)。
示例:
  1. import numpy as np
  2. # 创建一维数组
  3. arr1 = np.array([1, 2, 3, 4, 5])
  4. # 创建二维数组
  5. arr2 = np.array([[1, 2, 3], [4, 5, 6]])
  6. # 创建三维数组
  7. arr3 = np.array([[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]])
  8. print(arr1)
  9. print(arr2)
  10. print(arr3)
复制代码
输出:
  1. [1 2 3 4 5]
  2. [[1 2 3]
  3. [4 5 6]]
  4. [[[ 1  2  3]
  5.   [ 4  5  6]]
  6. [[ 7  8  9]
  7.   [10 11 12]]]
复制代码
使用 zeros() 和 ones() 函数

zeros() 和 ones() 函数可以创建指定形状和数据范例的全零或全一数组。
语法:
  1. ndarray = np.zeros(shape, dtype=dtype)
  2. ndarray = np.ones(shape, dtype=dtype)
复制代码
参数阐明:
shape:指定数组的形状,可以是元组或列表。
dtype:指定数组元素的数据范例,默以为 float64。
示例:
  1. import numpy as np
  2. # 创建一个 3x4 的全零数组
  3. arr1 = np.zeros((3, 4))
  4. # 创建一个 2x3 的全一数组
  5. arr2 = np.ones((2, 3))
  6. print(arr1)
  7. print(arr2)
复制代码
输出:
  1. [[0. 0. 0. 0.]
  2. [0. 0. 0. 0.]
  3. [0. 0. 0. 0.]]
  4. [[1. 1. 1.]
  5. [1. 1. 1.]]
复制代码
使用 empty() 函数

empty() 函数可以创建指定形状的空数组,但数组元素的值未定义。
语法:
  1. ndarray = np.empty(shape, dtype=dtype)
复制代码
参数阐明:
shape:指定数组的形状,可以是元组或列表。
dtype:指定数组元素的数据范例,默以为 float64。
示例:
  1. import numpy as np
  2. # 创建一个 3x4 的空数组
  3. arr = np.empty((3, 4))
  4. print(arr)
复制代码
输出:
  1. [[nan nan nan nan]
  2. [nan nan nan nan]
  3. [nan nan nan nan]]
复制代码
使用特殊函数

NumPy 还提供了一些特殊函数来创建特定范例的数组,比方:
arange():创建等差数列数组。
linspace():创建线性间隔的数组。
eye():创建单位矩阵。
diag():创建对角矩阵。
请参考 NumPy 文档了解有关这些函数的更多信息。
训练

创建以下数组:
一个包含 10 个元素的递增整数数组(从 0 到 9)。
一个包含 20 个元素的随机浮点数数组(范围为 0 到 1)。
一个 3x3 的单位矩阵。
请在评论中分享您的答案。
Sure, here is the requested Markdown formatted content:
NumPy 数组索引

NumPy 数组可用于表现多维数据。访问数组元素是 NumPy 中常见操作之一。
访问一维数组元素

NumPy 数组中的索引从 0 开始,这意味着第一个元素的索引为 0,第二个元素的索引为 1,依此类推。
要访问一维数组中的元素,可以使用方括号 [] 并指定元素的索引。
示例:
  1. import numpy as np
  2. # 创建一维数组
  3. arr = np.array([1, 2, 3, 4, 5])
  4. # 访问第一个元素
  5. print(arr[0])  # 输出:1
  6. # 访问第二个元素
  7. print(arr[1])  # 输出:2
  8. # 访问最后一个元素
  9. print(arr[-1])  # 输出:5
复制代码
访问二维数组元素

要访问二维数组中的元素,可以使用逗号分隔的两个索引:第一个索引表现行,第二个索引表现列。
示例:
  1. import numpy as np
  2. # 创建二维数组
  3. arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
  4. # 访问第一行第一个元素
  5. print(arr[0, 0])  # 输出:1
  6. # 访问第二行第三列元素
  7. print(arr[1, 2])  # 输出:6
  8. # 访问最后一个元素
  9. print(arr[-1, -1])  # 输出:9
复制代码
访问三维及更高维数组元素

对于三维及更高维数组,可以使用逗号分隔的多个索引来访问元素,每个索引表现相应维度的索引。
示例:
  1. import numpy as np
  2. # 创建三维数组
  3. arr = np.array([[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]])
  4. # 访问第一个数组的第二个数组的第三个元素
  5. print(arr[0, 1, 2])  # 输出:6
复制代码
负索引

NumPy 还支持负索引,从数组的末尾开始计数。
比方,要访问二维数组的最后一个元素,可以使用 arr[-1, -1]。
训练

创建一个 5x5 的二维数组 arr,并打印以下元素:
第一行的第一个元素
第二行的最后一个元素
第三列的第一个元素
第三个元素
在评论中分享您的代码和输出。
最后

为了方便其他设备和平台的小搭档观看往期文章:
微信公众号搜索:Let us Coding,关注后即可获取最新文章推送
看完如果觉得有帮助,欢迎点赞、收藏、关注

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

拉不拉稀肚拉稀

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表