目录
  • NumPy 创建数组
    • 使用 array() 函数
    • 使用zeros()和ones()函数
    • 使用empty()函数
    • 使用特殊函数
    • 练习
  • NumPy 数组索引
    • 访问一维数组元素
    • 访问二维数组元素
    • 访问三维及更高维数组元素
    • 负索引
    • 练习
  • 最后

    NumPy 创建数组

    NumPy 中的核心数据结构是 ndarray,它代表多维数组。NumPy 提供了多种方法来创建 ndarray 对象,包括:

    使用 array() 函数

    array() 函数是最常用的方法之一,它可以将 Python 列表、元组甚至其他数组转换为 ndarray 对象。

    语法:

    ndarray = np.array(data, dtype=dtype, order=order)
    

    参数说明:

    data:可以是 Python 列表、元组或其他数组。 dtype:指定数组元素的数据类型,默认为 float64。 order:指定数组元素的内存存储顺序,默认为 C 顺序(行优先)。

    示例:

    import numpy as np
    
    # 创建一维数组
    arr1 = np.array([1, 2, 3, 4, 5])
    
    # 创建二维数组
    arr2 = np.array([[1, 2, 3], [4, 5, 6]])
    
    # 创建三维数组
    arr3 = np.array([[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]])
    
    print(arr1)
    print(arr2)
    print(arr3)
    

    输出:

    [1 2 3 4 5]
    [[1 2 3]
     [4 5 6]]
    [[[ 1  2  3]
      [ 4  5  6]]
     [[ 7  8  9]
      [10 11 12]]]

    使用zeros()和ones()函数

    zeros() 和 ones() 函数可以创建指定形状和数据类型的全零或全一数组。

    语法:

    ndarray = np.zeros(shape, dtype=dtype)
    ndarray = np.ones(shape, dtype=dtype)
    

    参数说明:

    shape:指定数组的形状,可以是元组或列表。 dtype:指定数组元素的数据类型,默认为 float64

    示例:

    import numpy as np
    
    # 创建一个 3x4 的全零数组
    arr1 = np.zeros((3, 4))
    
    # 创建一个 2x3 的全一数组
    arr2 = np.ones((2, 3))
    
    print(arr1)
    print(arr2)
    

    输出:

    [[0. 0. 0. 0.]
     [0. 0. 0. 0.]
     [0. 0. 0. 0.]]
    [[1. 1. 1.]
     [1. 1. 1.]]

    使用empty()函数

    empty() 函数可以创建指定形状的空数组,但数组元素的值未定义。

    语法:

    ndarray = np.empty(shape, dtype=dtype)
    

    参数说明:

    shape:指定数组的形状,可以是元组或列表。 dtype:指定数组元素的数据类型,默认为 float64

    示例:

    import numpy as np
    
    # 创建一个 3x4 的空数组
    arr = np.empty((3, 4))
    
    print(arr)
    

    输出:

    [[nan nan nan nan]
     [nan nan nan nan]
     [nan nan nan nan]]

    使用特殊函数

    NumPy 还提供了一些特殊函数来创建特定类型的数组,例如:

    arange():创建等差数列数组。 linspace():创建线性间隔的数组。 eye():创建单位矩阵。 diag():创建对角矩阵。

    请参考 NumPy 文档了解有关这些函数的更多信息。

    练习

    创建以下数组:

    一个包含 10 个元素的递增整数数组(从 0 到 9)。 一个包含 20 个元素的随机浮点数数组(范围为 0 到 1)。 一个 3×3 的单位矩阵。

    请在评论中分享您的答案。

    Sure, here is the requested Markdown formatted content:

    NumPy 数组索引

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

    访问一维数组元素

    NumPy 数组中的索引从 0 开始,这意味着第一个元素的索引为 0,第二个元素的索引为 1,依此类推。

    要访问一维数组中的元素,可以使用方括号 [] 并指定元素的索引。

    示例:

    import numpy as np
    
    # 创建一维数组
    arr = np.array([1, 2, 3, 4, 5])
    
    # 访问第一个元素
    print(arr[0])  # 输出:1
    
    # 访问第二个元素
    print(arr[1])  # 输出:2
    
    # 访问最后一个元素
    print(arr[-1])  # 输出:5
    

    访问二维数组元素

    要访问二维数组中的元素,可以使用逗号分隔的两个索引:第一个索引表示行,第二个索引表示列。

    示例:

    import numpy as np
    
    # 创建二维数组
    arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
    
    # 访问第一行第一个元素
    print(arr[0, 0])  # 输出:1
    
    # 访问第二行第三列元素
    print(arr[1, 2])  # 输出:6
    
    # 访问最后一个元素
    print(arr[-1, -1])  # 输出:9
    

    访问三维及更高维数组元素

    对于三维及更高维数组,可以使用逗号分隔的多个索引来访问元素,每个索引表示相应维度的索引。

    示例:

    import numpy as np
    
    # 创建三维数组
    arr = np.array([[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]])
    
    # 访问第一个数组的第二个数组的第三个元素
    print(arr[0, 1, 2])  # 输出:6
    

    负索引

    NumPy 还支持负索引,从数组的末尾开始计数。

    例如,要访问二维数组的最后一个元素,可以使用 arr[-1, -1]

    练习

    创建一个 5×5 的二维数组 arr,并打印以下元素:

    第一行的第一个元素 第二行的最后一个元素 第三列的第一个元素 第三个元素

    在评论中分享您的代码和输出。

    最后

    以上就是NumPy数组创建方法与索引访问详解的详细内容,更多关于NumPy数组创建和索引访问的资料请关注其它相关文章!

    声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。