python第三方库【numpy.array】的使用(超详细)

NumPy 是 Python 中用于科学计算的基础库之一,它提供了高性能的多维数组对象以及这些数组的操作。NumPy 的核心数据结构是 ndarray(N-dimensional array,N维数组),它提供了一种高效的存储和操作大型多维数组的方法。以下是几种 NumPy 数组(array)的常见使用方式:

1. 创建数组

  • 使用 numpy.array():从已有的 Python 列表(或任何类似数组的对象)创建数组。

    import numpy as np
    arr = np.array([1, 2, 3, 4, 5])
    
  • 使用 numpy.zeros(), numpy.ones(), numpy.empty():创建具有指定形状和类型的新数组,分别初始化为全零、全一或未初始化的随机值。

    zeros = np.zeros((2, 3))  # 创建一个2x3的零数组
    ones = np.ones((2, 3))    # 创建一个2x3的一数组
    empty = np.empty((2, 3))  # 创建一个2x3的未初始化数组
    
  • 使用 numpy.arange(), numpy.linspace():创建等差数列或等间距数列。

    arange = np.arange(0, 10, 2)  # 从0到10(不包括10),步长为2的数组
    linspace = np.linspace(0, 10, 5)  # 从0到10,生成5个等间距的数
    

2. 数组的基本操作

  • 索引和切片:NumPy 数组支持 Python 的索引和切片操作。

    arr = np.array([1, 2, 3, 4, 5])
    print(arr[2])  # 输出 3
    print(arr[1:4])  # 输出 [2 3 4]
    
  • 广播(Broadcasting):NumPy 允许数组之间进行逐元素操作,即使它们的形状不完全相同,这通过广播机制实现。

    a = np.array([[1, 2], [3, 4]])
    b = np.array([10, 20])
    print(a + b)  # 广播机制使得 b 被扩展为 [[10, 20], [10, 20]],然后执行逐元素加法
    
  • 数组重塑(Reshaping):改变数组的形状而不改变其数据。

    arr = np.array([1, 2, 3, 4, 5, 6])
    reshaped_arr = arr.reshape((2, 3))  # 创建一个2x3的数组
    

3. 数组的数学和统计函数

NumPy 提供了大量的数学函数,用于数组上的元素级操作,如 np.sin(), np.cos(), np.exp() 等。此外,还有统计函数如 np.mean(), np.std(), np.sum() 等,用于计算数组的统计量。

arr = np.array([1, 2, 3, 4, 5])
print(np.mean(arr))  # 输出平均值
print(np.std(arr))   # 输出标准差

4. 数组的组合

  • 水平堆叠(np.hstack())和垂直堆叠(np.vstack():将多个数组沿指定的轴堆叠起来。

    a = np.array([1, 2, 3])
    b = np.array([4, 5, 6])
    print(np.hstack((a, b)))  # [1 2 3 4 5 6]
    print(np.vstack((a, b)))  # [[1 2 3]
                              #  [4 5 6]]
    
  • 列堆叠(np.column_stack())和行堆叠(np.row_stack():与 hstackvstack 类似,但主要用于二维数组。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值