当前位置:首页>python>总结:Python 的 NumPy 技术库的完整介绍和知识总结

总结:Python 的 NumPy 技术库的完整介绍和知识总结

  • 2026-09-02 21:07:53
总结:Python 的 NumPy 技术库的完整介绍和知识总结
关注+星标,每天学习Python新技能

来源:网络

Python 的 NumPy 技术库适用于数据分析、科学计算和机器学习等多个方向。


NumPy 简介

NumPy(Numerical Python)是 Python 中最重要的科学计算库之一,主要用于:

  • 高性能的多维数组对象(ndarray)
  • 数组运算(广播机制、矢量化运算)
  • 线性代数、傅里叶变换、随机数生成等数学函数

NumPy 核心功能概览

类别
功能说明
ndarray
多维数组对象,支持高效存储和操作
广播机制
不同形状数组的运算兼容
向量化计算
比 for 循环更高效
数组切片
类似 Python list,但功能更强大
数学函数
三角函数、指数、对数、统计函数
线性代数
矩阵运算、特征值、逆矩阵
随机数
各类分布(正态、均匀、泊松等)
IO 操作
支持 CSV、二进制文件的读写

常用数据结构:ndarray

import numpy as npa = np.array([1, 2, 3])             # 一维数组b = np.array([[1, 2], [3, 4]])      # 二维数组

属性介绍:

b.shape       # 数组维度 (2, 2)b.ndim        # 数组维度数:2b.dtype       # 元素类型:int64、float32 等b.size        # 元素总数b.itemsize    # 单个元素所占字节数

数组创建函数

np.zeros((3, 4))        # 全零数组np.ones((2, 2))         # 全1数组np.full((2, 3), 7)      # 固定值np.eye(4)               # 单位矩阵np.arange(0, 10, 2)     # 类似 rangenp.linspace(0, 1, 5)    # 等间距数列

数组运算(广播和向量化)

a = np.array([1, 2, 3])b = np.array([4, 5, 6])a + b        # array([5, 7, 9])a * 2# array([2, 4, 6])np.exp(a)    # 指数np.sqrt(b)   # 开方

广播机制示例:

a = np.array([[1], [2], [3]])b = np.array([10, 20, 30])a + b

数组切片与索引

a = np.array([[1,2,3], [4,5,6]])a[0, 1]          # 获取2a[:, 1]          # 获取第2列:array([2, 5])a[1, :]          # 获取第2行:array([4, 5, 6])

布尔索引:

a[a > 3]         # 返回大于3的元素组成的数组

数组变换与组合

a.reshape(3, 2)           # 改变形状a.T                       # 转置np.vstack([a, a])         # 垂直堆叠np.hstack([a, a])         # 水平堆叠np.split(a, 2)            # 拆分

数学和统计函数

np.sum(a)                 # 所有元素求和np.mean(a)                # 平均值np.std(a)                 # 标准差np.min(a), np.max(a)      # 最小值与最大值np.argmin(a), np.argmax(a)# 最小值/最大值索引

线性代数模块 numpy.linalg

from numpy.linalg import inv, eig, solveA = np.array([[1, 2], [3, 4]])inv(A)        # 矩阵求逆eig(A)        # 特征值与特征向量b = np.array([5, 6])solve(A, b)   # 求 Ax = b 的解

随机数模块 numpy.random

np.random.rand(3, 2)           # 0~1之间的随机数np.random.randn(3)             # 标准正态分布np.random.randint(1, 10, 5)    # 整数随机数np.random.choice([1, 2, 3], 4) # 从列表中随机选取np.random.seed(42)             # 设置随机种子

输入输出

np.save('my_array.npy', a)             # 保存为二进制np.load('my_array.npy')                # 加载二进制np.savetxt('my_array.csv', a, delimiter=',')  # 保存为CSVnp.loadtxt('my_array.csv', delimiter=',')     # 读取CSV

总结思维导图(逻辑结构)

NumPy├── ndarray│   ├── 属性 (shape, dtype, ndim, size)│   └── 创建 (array, zeros, ones, arange, linspace)├── 运算│   ├── 数值运算 (+, -, *, /, **, exp, sqrt)│   └── 广播机制├── 索引与切片│   ├── 普通索引│   ├── 布尔索引│   └── fancy indexing├── 数组变换│   ├── reshape│   ├── transpose│   ├── 合并与拆分├── 数学统计函数│   ├── sum, mean, std, min, max│   └── argmin, argmax├── 线性代数│   └── inv, eig, solve, dot├── 随机模块│   └── rand, randint, choice, seed└── IO操作    └── save, load, savetxt, loadtxt

长按或扫描下方二维码,免费获取 Python公开课和大佬打包整理的几百G的学习资料,内容包含但不限于Python电子书、教程、项目接单、源码等等

▲扫描二维码-免费领取

推荐阅读

你写的Python代码还是Pythonic代码?

用 Python 处理 Excel 电子表格

写业务代码必备:9 个被低估的 Python 高效工具库

全程 Python:无需离开 Python 即可实现光速级 CUDA 加速,无需c++支持

点击 阅读原文了解更多

最新文章

随机文章