numpy的基本使用
numpy概述
numpy介绍
# 一个开源的Python科学计算库
# 计算起来要比python简洁高效
# Numpy使用ndarray对象来处理多维数组
# NumPy提供了一个N维数组类型ndarray,它描述了相同类型的“items”的集合
# 生成numpy对象:np.array()
numpy的优势
# 内存块风格
# list -- 分离式存储,存储内容多样化
# ndarray -- 一体式存储,存储类型必须一样
# ndarray支持并行化运算(向量化运算)
# ndarray底层是用C语言写的,效率更高,释放了GIL
numpy数据结构————ndarray
ndrray 是一种类似于多维数组的一体式存储数据类型,对ndarray的操作进行了相关的优化,专门用于对多维数组(多用于二维数组矩阵)进行高效率的数学运算。
ndarray的属性
# ndarray.shape
# ndarray.ndim
# ndarray.size
# ndarray.itemsize
# ndarray.dtype
numpy的基本操作
生成数组的方法
生成0和1的数组
ones = np.ones([4, 8])
zeros = np.zeros(ndarray.shape)
ones1 = np.ones_like(ndarray)
zeros1 = np.zeros_like(ndarray)
从现有数组进行生成
np.array(ndarray)
np.asarray(ndarray)
生成固定范围数组
# np.linspace(0, 100, 11)
# np.arrange(10, 50, 2)
# np.logspace(0, 2, 10)
正态分布
np.random.normal(loc, scale, size)
np.radndom.randn(d0, d1, d2, ...)
均匀分布
np.random.uniform(low, high, size)
np.random.rand(d0, d1, d2, ...)
np.random.randint(low, high, size)
数组的切片、索引
ndarray[:][:][:]... 先行后列
数组形状的修改
ndarray.reshape(array.shape)
ndarray.resize(array.shape)
ndarray.T
元素类型的修改
ndarray.dtype
ndarray.astype(np.dtype)
bytes = ndarray.tobytes()
数组去重
np.unique(ndarray)
ndarray运算
逻辑运算
ndarray > 60
ndarray[ndarray>60] = 1
相同shape的dtype=bool
通用判断函数
np.all(ndarray>num)
np.any(ndarray>num)
三元运算符
np.where(ndarray>num, 1, 0)
np.where(np.logicl_and(ndarray>num1, ndarray<num2), 1, 0)
np.where(np.logic_or(ndarray<num1, ndarray>num2), 1, 0)
统计运算
# np.max(ndarray, axis)
# np.min()
# np.median()
# np.mean()
# np.std()
# np.var()
# np.argmax(axis=) — 最大元素对应的下标
# np.argmin(axis=) — 最小元素对应的下标
数组间的运算
数组与数之间的运算
ndarray + 1
ndarray / 2
数组与数组之间的运算
广播机制
arr1 = np.array([[1, 2, 3, 2, 1, 4], [5, 6, 1, 2, 3, 1]])
arr2 = np.array([[1], [3]])
arr1 + arr2
数学矩阵
a1 = np.array([[1, 2, 3], [4,5,6], [7,8,0]])
a2 = np.array([[1,2,1],[1,1,2],[2,1,1]])
np.matmul(a1, a2)
np.dot(a1, a2)
#注意:二者都是矩阵乘法。 np.matmul中禁止矩阵与标量的乘法。 在矢量乘矢量的內积运算中,np.matmul与np.dot没有区别。
¶
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人