【python】numpy常用函数总结

本文深入探讨了NumPy库的核心概念和操作,包括数组的创建、操作和查找功能。从 dtype 和 shape 的理解,到一维和多维数组的索引与切片,再到广播和矢量化操作。介绍了 zeros、ones、empty、eye 等特殊矩阵生成函数,以及 random、randn 等随机数生成方法。文章还涉及排序、查找最大值和最小值、掩码数组等实用功能,以及矩阵操作和随机抽样的应用。最后,讲解了如何利用stack函数进行数组合并和拆分,以及在处理缺失值和nan时的掩码数组技术。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

概述

常见属性dtype查看数组元素类型和shape查看数组尺寸
在这里插入图片描述

常见方法astype用于转换数组元素的类型和reshape用于转换数组尺寸
在这里插入图片描述

核心概念:轴。一维就只有0轴;二维行的增长方向是0轴,列的增长方向是1轴;三维,层的增长方向是0轴,行的增长方向是1轴,列的增长方向是2轴。
理解:这个三维矩阵打印出来,两个空格隔开了三层。每一层相当于一个二维数组,自上而下是行增长的方向,自左而右是列增长的方向。
例子:各种求和
在这里插入图片描述

广播和矢量化:numpy数组想要给数组全部元素+1的话就是直接a+1就可以了;两个形状相同的数组相加就是直接a+b就好了。

创建数组

蛮力构造:直接np.array(),核心参数就是数据object和类型dtype
在这里插入图片描述

特殊矩阵zeros函数生成0矩阵 、ones函数生成1矩阵、empty函数生成随机元素的矩阵 、eye函数生成对角矩阵和fill函数对所有矩阵元素进行填充
在这里插入图片描述

随机数值random函数生成[0,1)的元素 、randomint函数生成[low,high)之间的整数元素,rand函数生成均匀分布,randn函数生成正态分布和normal函数生成正态分布的数据
在这里插入图片描述
定长分割:arange函数和linspace函数都用于生成一个序列
在这里插入图片描述
重复构造repeat函数用于重复数组元素 和tile函数用于重复数组
在这里插入图片描述
在这里插入图片描述

操作数组

注:切片返回的数组不是复制,而是指向与原数组相同的内存的
一维数组的索引与切片:与list一样
在这里插入图片描述
多维数组的索引与切片
在这里插入图片描述
改变数组结构reshape函数、resize函数将数组变为指定结构 、ravel函数将多维数组一维化和transpose函数和’t’函数一样,都是对矩阵进行转置。
resize函数是会改变原数组的,其余函数都是返回一个对应的视图。
在这里插入图片描述
数组合并:numpy的数组创建之后就不能改变元素数量了,因此想要动态改变元素数目就只能使用合并或者拆分这种方式。
numpy中也保留了append函数,但是这个方法是numpy的了,不是数组的,并且他的效果是合并两个数组。
在这里插入图片描述

最常用的还是stack函数及其兄弟hstake函数水平合并、vstack函数垂直合并、dstack函数深度合并
在这里插入图片描述
stack函数才是YYDS,毕竟用的多的是tensor,将两个shape相同的数组在i轴进行合并,这里是四个轴0,1,2,3
在这里插入图片描述
数组拆分:不常用,还不如切片方便
排序sort函数返回输入数组的排序副本、argsort函数返回数组值从小到大的索引号
他们的参数都一样,第一个是待排序数组,第二个axis是排序的轴,默认是最后一轴。别的都不常用。
在这里插入图片描述

查找

最大值和最小值查找argmax函数argmin函数返回数组中最大值和最小值的索引,如果是多维数组,这个索引就是数组转换成以一维之后的索引
在这里插入图片描述
非零元素查找nonzero函数返回描述位置信息的元组
在这里插入图片描述
使用逻辑表达式查找:返回同样shape的bool数组
在这里插入图片描述
条件查询where。对于一维数组返回满足条件的元素索引,对于多维数组,返回满足条件的元素在k轴上的索引号。也就是n维数组,返回n个元组,每个元组代表着满足条件的元素对应维度上的索引。
在这里插入图片描述
筛选where函数返回索引元组、逻辑表达式返回bool数组、整形数组
在这里插入图片描述

常用函数

重要常量:naninf
在这里插入图片描述
常用数学函数
在这里插入图片描述
统计函数:注意有些方法处理nan是会出问题的
在这里插入图片描述
插值函数:一维插值函数interp函数,假设原来有了数据_x和_y,现在新产生了数据x,使用interp函数就可以得到对应的y了
在这里插入图片描述

掩码数组

用于处理缺失值和nan

矩阵

随机抽样

随机数
在这里插入图片描述
随机抽样:
在这里插入图片描述

正态分布
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值