Python NumPy函数入门到精通:详解常用功能并附实战代码示例

NumPy(Numerical Python)是Python科学计算的核心库,广泛应用于数据分析、机器学习、图像处理等领域。

      本文总结NumPy最常用的20+个函数,涵盖数组创建、数学运算、统计、形状操作等高频场景,每个函数均提供代码示例,助力快速上手!


一、数组创建函数

1. np.array():从列表/元组创建数组

import numpy as np

# 创建一维数组
arr1 = np.array([1, 2, 3])  
print(arr1)  # 输出: [1 2 3]

# 创建二维数组
arr2 = np.array([[1, 2], [3, 4]])
print(arr2)
# 输出:
# [[1 2]
#  [3 4]]

2. np.arange():生成等差序列

# 生成0-4的整数
arr = np.arange(5)  
print(arr)  # 输出: [0 1 2 3 4]

# 从5开始,步长3,直到小于15
arr = np.arange(5, 15, 3)  
print(arr)  # 输出: [5 8 11 14]

3. np.linspace():生成等间隔数

# 在0-1之间生成5个等间距数
arr = np.linspace(0, 1, 5)  
print(arr)  # 输出: [0.   0.25 0.5  0.75 1.  ]

二、数学运算函数

1. 四则运算:np.add()np.subtract()np.multiply()np.divide()

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

sum_arr = np.add(a, b)        # 等价于 a + b
diff_arr = np.subtract(b, a)  # 等价于 b - a
print(sum_arr)   # 输出: [4 6]
print(diff_arr)  # 输出: [2 2]

2. np.sum():数组求和

arr = np.array([[1, 2], [3, 4]])

# 全局求和
total = np.sum(arr)        # 输出: 10

# 按列求和(axis=0)
col_sum = np.sum(arr, axis=0)  # 输出: [4 6]

# 按行求和(axis=1)
row_sum = np.sum(arr, axis=1)  # 输出: [3 7]

解释

  • axis=0:对每一列的元素求和,结果是一个一维数组,长度为列数

  • axis=1:对每一行的元素求和,结果是一个一维数组,长度为行数

  • 3. np.mean():计算平均值

    arr = np.array([2, 4, 6])
    avg = np.mean(arr)  
    print(avg)  # 输出: 4.0

    三、数组形状操作

    1. reshape():改变数组维度

    arr = np.arange(6)  # [0 1 2 3 4 5]
    
    # 转换为2行3列的二维数组
    reshaped = arr.reshape(2, 3)  
    print(reshaped)
    # 输出:
    # [[0 1 2]
    #  [3 4 5]]

    2. transpose():矩阵转置

    arr = np.array([[1, 2], [3, 4]])
    transposed = arr.transpose()  
    print(transposed)
    # 输出:
    # [[1 3]
    #  [2 4]]

    四、线性代数操作

    1. np.dot():矩阵乘法

    a = np.array([[1, 2], [3, 4]])
    b = np.array([[5, 6], [7, 8]])
    
    result = np.dot(a, b)  
    print(result)
    # 输出:
    # [[19 22]
    #  [43 50]]

    2. np.linalg.inv():求逆矩阵

    matrix = np.array([[1, 2], [3, 4]])
    inv_matrix = np.linalg.inv(matrix)  
    print(inv_matrix)
    # 输出:
    # [[-2.   1. ]
    #  [ 1.5 -0.5]]

    五、随机数生成

    1. np.random.rand():生成均匀分布随机数

    # 生成2行3列的随机数组(范围[0,1))
    rand_arr = np.random.rand(2, 3)  
    print(rand_arr)
    # 示例输出:
    # [[0.23 0.45 0.89]
    #  [0.12 0.67 0.33]]

    2. np.random.randint():生成随机整数

    # 生成5个1-10之间的整数
    rand_ints = np.random.randint(1, 11, 5)  
    print(rand_ints)  # 示例输出: [3 7 2 9 5]

    六、实用筛选与拼接

    1. np.where():条件筛选

    arr = np.array([1, 2, 3, 4])
    result = np.where(arr > 2, arr, 0)  
    print(result)  # 输出: [0 0 3 4]

     2. np.concatenate():数组拼接

    a = np.array([1, 2])
    b = np.array([3, 4])
    combined = np.concatenate([a, b])  
    print(combined)  # 输出: [1 2 3 4]

    七、总结与学习建议

    掌握上述函数后,你可以:

  • 快速创建和操作多维数组

  • 实现高效的数学计算与统计分析

  • 处理矩阵运算和随机数生成

  • 学习建议

    1. 在Jupyter Notebook中逐行运行示例代码

    2. 尝试修改参数观察结果变化

    3. 结合实际项目(如数据处理、图像变换)加深理解

    扩展阅读

  • NumPy官方文档

  • 《Python数据分析基础教程:NumPy学习指南》


  • 文章说明:本文代码均在 NumPy 1.24+ 环境下测试通过。如果对您有帮助,欢迎点赞、收藏、关注!

    作者:重生之我要成为PJ大神

    物联沃分享整理
    物联沃-IOTWORD物联网 » Python NumPy函数入门到精通:详解常用功能并附实战代码示例

    发表回复