• 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)。
    一个 3x3 的单位矩阵。

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

    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]

    练习

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

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

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

    最后

    为了方便其他设备和平台的小伙伴观看往期文章:

    微信公众号搜索:Let us Coding,关注后即可获取最新文章推送

    看完如果觉得有帮助,欢迎点赞、收藏、关注

  • 相关阅读:
    Java基于微信小程序的自习室系统
    google c++线程、协程、任务调度marl库使用介绍
    el-input只能输入数字且有小数点最多保留两位
    嵌入式软件开发常用的3种架构
    十家公司有九家问过的软件测试面试题,最后一题我猜你肯定不会
    Java IO基础知识总结篇一
    【MySQL入门实战2】-事务的ACID
    动态计算图笔记
    四大常见的排序算法JAVA
    在linux下如何使用yum命令查看安装了哪些软件包
  • 原文地址:https://www.cnblogs.com/xiaowange/p/18175897