💻 Python Numpy库
NumPy
简介
什么是numpy
Numpy(Numerical Python) 是 Python 语言的一个扩展程序库,用于科学计算,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。
Numpy支持常见的数组和矩阵操作。对于同样的数值计算任务,使用Numpy比直接使用Python要简洁的多。
Numpy使用ndarray对象来处理多维数组,该对象是一个快速而灵活的大数据集容器。
numpy优势和应用场景
优势:
- 性能优越
- 底层用C语言实现,运算速度快
- 向量化运算,避免使用Python循环
- 内存使用效率高
- 数据结构优化
- ndarray对象支持多维数组操作
- 内存连续存储,访问效率高
- 支持广播机制,便于数组间运算
- 功能丰富
- 提供大量数学函数和运算操作
- 支持线性代数运算
- 具有强大的数组索引和切片功能
应用场景
- 科学计算
- 数据分析
- 机器学习
- 深度学习
安装和导入NumPy
# 安装
pip install numpy
# 导入
import numpy as np
ndarray数组
是什么
Numpy最重要的一个特点就是其N维数组对象,该对象是一个快速而灵活的大数据集容器,描述了相同类型的元素集合。
创建数组
- np.array()
基本创建。
np.array([1,2,3,4,5])
- np.zeros()
用于创建一个全0的数组。
- np.ones()
用于创建一个全1的数组。
ndarray = np.ones(5)
-
np.arange()
-
np.linespace()
数组属性
-
shape
-
dtype
-
size
-
ndim
数组的索引和切片
数组的变形
-
reshape()
-
resize()
-
flatten()
-
revel()
数组的拼接
-
np.concatenate()
-
np.vstack()
-
np.hstack()
数组的分隔
-
np.split()
-
np.vsplit()
-
np.hsplit()
数组操作
数学运算
-
加减乘除
-
矩阵乘法
-
np.dot()
-
@
-
-
广播机制
统计函数
-
np.sum()
-
np.mean()
-
np.min()
-
np.max()
-
np.std()
逻辑操作
-
np.where()
-
np.any()
-
np.all()
排序和搜索
-
np.sort()
-
np.argsort()
-
np.argmax()
-
np.argmin()
去重和集合操作
-
np.unique()
-
np.intersect1d()
-
np.union1d()
随机数生成
随机数模块
- np.random
生成随机数
-
np.random.rand()
-
np.random.randn()
-
np.random.randint()
随机分布
-
均匀分布
-
正态分布
-
泊松分布
随机种子
- np.random.seed()
线性代数
矩阵操作
-
np.linalg.inv() 逆矩阵
-
np.linalg.det() 行列式
-
nplinalg.eig() 特征值和特征向量
解线性方程组
- np.linalg.solve()
矩阵分解
-
np.linalg.qr()
-
np.linalg.svd()
文件操作
保存和加载数组
-
np.save()
-
np.load()
-
np.savetext()
-
np.loadtxt()
高级功能
广播机制 boardcasting
向量化操作
结构化数组
掩码数组 Masked Arrays
【参考】
官网
https://numpy.org/doc/stable/
w3cschools
https://www.w3schools.com/python/numpy/numpy_intro.asp
youtube
https://www.youtube.com/results?search_query=numpy+tutorial