NumPy模块使用

NumPy是Python科学计算的基础库,提供强大的N维数组、线性代数、傅里叶变换等功能。本文介绍NumPy的数据类型、常用函数、数组操作、随机数生成及线性代数计算,适合初学者和进阶用户。

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

NumPy是用Python进行科学计算的基本软件包。它包含以下内容:

  • 一个强大的N维数组对象
  • 复杂的(广播)功能
  • 用于集成C / C ++和Fortran代码的工具
  • 有用的线性代数,傅里叶变换和随机数能力

除了明显的科学用途外,NumPy还可以用作通用数据的高效多维容器。任意的数据类型可以被定义。这使得NumPy能够与各种各样的数据库无缝,快速地整合。

Numpy官网 : http://www.numpy.org/

NumPy函数和属性:

NumPy类型

类型类型代码说明
int8、uint8i1、u1有符号和无符号8位整型(1字节)
int16、uint16i2、u2有符号和无符号16位整型(2字节)
int32、uint32i4、u4有符号和无符号32位整型(4字节)
int64、uint64i8、u8有符号和无符号64位整型(8字节)
float16f2半精度浮点数
float32f4、f单精度浮点数
float64f8、d双精度浮点数
float128f16、g扩展精度浮点数
complex64c8分别用两个32位表示的复数
complex128c16分别用两个64位表示的复数
complex256c32分别用两个128位表示的复数
bool?布尔型
objectOpython对象
stringSn固定长度字符串,每个字符1字节,如S10
unicodeUn固定长度Unicode,字节数由系统决定,如U10

Numpy常用函数

生成函数作用
np.array( x)np.array( x, dtype)将输入数据转化为一个ndarray将输入数据转化为一个类型为type的ndarray
np.asarray( array )将输入数据转化为一个新的(copy)ndarray
np.ones( N )np.ones( N, dtype)np.ones_like( ndarray )生成一个N长度的一维全一ndarray生成一个N长度类型是dtype的一维全一ndarray生成一个形状与参数相同的全一ndarray
np.zeros( N)np.zeros( N, dtype)np.zeros_like(ndarray)生成一个N长度的一维全零ndarray生成一个N长度类型位dtype的一维全零ndarray类似np.ones_like( ndarray )
np.empty( N )np.empty( N, dtype)np.empty(ndarray)生成一个N长度的未初始化一维ndarray生成一个N长度类型是dtype的未初始化一维ndarray类似np.ones_like( ndarray )
np.eye( N )np.identity( N )创建一个N * N的单位矩阵(对角线为1,其余为0)
np.arange( num)np.arange( begin, end)np.arange( begin, end, step)生成一个从0到num-1步数为1的一维ndarray生成一个从begin到end-1步数为1的一维ndarray生成一个从begin到end-step的步数为step的一维ndarray
np.mershgrid(ndarray, ndarray,…)生成一个ndarray * ndarray * …的多维ndarray
np.where(cond, ndarray1, ndarray2)根据条件cond,选取ndarray1或者ndarray2,返回一个新的ndarray
np.in1d(ndarray, [x,y,…])检查ndarray中的元素是否等于[x,y,…]中的一个,返回bool数组
矩阵函数说明
np.diag( ndarray)np.diag( [x,y,…])以一维数组的形式返回方阵的对角线(或非对角线)元素将一维数组转化为方阵(非对角线元素为0)
np.dot(ndarray, ndarray)矩阵乘法
np.trace( ndarray)计算对角线元素的和
排序函数说明
np.sort( ndarray)排序,返回副本
np.unique(ndarray)返回ndarray中的元素,排除重复元素之后,并进行排序
np.intersect1d( ndarray1, ndarray2)np.union1d( ndarray1, ndarray2)np.setdiff1d( ndarray1, ndarray2)np.setxor1d( ndarray1, ndarray2)返回二者的交集并排序。返回二者的并集并排序。返回二者的差。返回二者的对称差
一元计算函数说明
np.abs(ndarray)np.fabs(ndarray)计算绝对值计算绝对值(非复数)
np.mean(ndarray)求平均值
np.sqrt(ndarray)计算x^0.5
np.square(ndarray)计算x^2
np.exp(ndarray)计算e^x
log、log10、log2、log1p计算自然对数、底为10的log、底为2的log、底为(1+x)的log
np.sign(ndarray)计算正负号:1(正)、0(0)、-1(负)
np.ceil(ndarray)np.floor(ndarray)np.rint(ndarray)计算大于等于改值的最小整数计算小于等于该值的最大整数四舍五入到最近的整数,保留dtype
np.modf(ndarray)将数组的小数和整数部分以两个独立的数组方式返回
np.isnan(ndarray)返回一个判断是否是NaN的bool型数组
np.isfinite(ndarray)np.isinf(ndarray)返回一个判断是否是有穷(非inf,非NaN)的bool型数组返回一个判断是否是无穷的bool型数组
cos、cosh、sin、sinh、tan、tanh普通型和双曲型三角函数
arccos、arccosh、arcsin、arcsinh、arctan、arctanh反三角函数和双曲型反三角函数
np.logical_not(ndarray)计算各元素not x的真值,相当于-ndarray
多元计算函数说明
np.add(ndarray, ndarray)np.subtract(ndarray, ndarray)np.multiply(ndarray, ndarray)np.divide(ndarray, ndarray)np.floor_divide(ndarray, ndarray)np.power(ndarray, ndarray)np.mod(ndarray, ndarray)相加相减乘法除法圆整除法(丢弃余数)次方求模
np.maximum(ndarray, ndarray)np.fmax(ndarray, ndarray)np.minimun(ndarray, ndarray)np.fmin(ndarray, ndarray)求最大值求最大值(忽略NaN)求最小值求最小值(忽略NaN)
np.copysign(ndarray, ndarray)将参数2中的符号赋予参数1
np.greater(ndarray, ndarray)np.greater_equal(ndarray, ndarray)np.less(ndarray, ndarray)np.less_equal(ndarray, ndarray)np.equal(ndarray, ndarray)np.not_equal(ndarray, ndarray)>>=<<===!=
logical_and(ndarray, ndarray)logical_or(ndarray, ndarray)logical_xor(ndarray, ndarray)&|^
np.dot( ndarray, ndarray)计算两个ndarray的矩阵内积
np.ix_([x,y,m,n],…)生成一个索引器,用于Fancy indexing(花式索引)
文件读写说明
np.save(string, ndarray)将ndarray保存到文件名为 [string].npy 的文件中(无压缩)
np.savez(string, ndarray1, ndarray2, …)将所有的ndarray压缩保存到文件名为[string].npy的文件中
np.savetxt(sring, ndarray, fmt, newline=’\n’)将ndarray写入文件,格式为fmt
np.load(string)读取文件名string的文件内容并转化为ndarray对象(或字典对象)
np.loadtxt(string, delimiter)读取文件名string的文件内容,以delimiter为分隔符转化为ndarray

NumPy.ndarray函数和属性:

ndarray属性

ndarray.ndim获取ndarray的维数
ndarray.shape获取ndarray各个维度的长度
ndarray.dtype获取ndarray中元素的数据类型
ndarray.T简单转置矩阵ndarray

ndarray函数

函数说明
ndarray.astype(dtype)转换类型,若转换失败则会出现TypeError
ndarray.copy()复制一份ndarray(新的内存空间)
ndarray.reshape((N,M,…))将ndarray转化为NM…的多维ndarray(非copy)
ndarray.transpose((xIndex,yIndex,…))根据维索引xIndex,yIndex…进行矩阵转置,依赖于shape,不能用于一维矩阵(非copy)
ndarray.swapaxes(xIndex,yIndex)交换维度(非copy)
计算函数说明
ndarray.mean( axis=0 )求平均值
ndarray.sum( axis= 0)求和
ndarray.cumsum( axis=0)ndarray.cumprod( axis=0)累加 累乘
ndarray.std()ndarray.var()方差标准差
ndarray.max()ndarray.min()最大值最小值
ndarray.argmax()ndarray.argmin()最大值索引最小值索引
ndarray.any()ndarray.all()是否至少有一个True是否全部为True
ndarray.dot( ndarray)计算矩阵内积
排序函数说明
ndarray.sort(axis=0)排序,返回源数据

ndarray索引/切片方式

ndarray[n]选取第n+1个元素
ndarray[n:m]选取第n+1到第m个元素
ndarray[:]选取全部元素
ndarray[n:]选取第n+1到最后一个元素
ndarray[:n]选取第0到第n个元素
ndarray[ bool_ndarray ]注:bool_ndarray表示bool类型的ndarray选取为true的元素
ndarray[[x,y,m,n]]…选取顺序和序列为x、y、m、n的ndarray
ndarray[n,m]ndarray[n][m]选取第n+1行第m+1个元素
ndarray[n,m,…]ndarray[n][m]…选取n行n列…的元素
NumPy.random函数和属性:

random常用函数

函数说明
seed()seed(int)seed(ndarray)确定随机数生成种子
permutation(int)permutation(ndarray)返回一个一维从0~9的序列的随机排列返回一个序列的随机排列
shuffle(ndarray)对一个序列就地随机排列
rand(int)randint(begin,end,num=1)产生int个均匀分布的样本值从给定的begin和end随机选取num个整数
randn(N, M, …)生成一个NM…的正态分布(平均值为0,标准差为1)的ndarray
normal(size=(N,M,…))生成一个NM…的正态(高斯)分布的ndarray
beta(ndarray1,ndarray2)产生beta分布的样本值,参数必须大于0
chisquare()产生卡方分布的样本值
gamma()产生gamma分布的样本值
uniform()产生在[0,1)中均匀分布的样本值

NumPy.linalg函数和属性:

linalg常用函数

函数说明
det(ndarray)计算矩阵列式
eig(ndarray)计算方阵的本征值和本征向量
inv(ndarray)pinv(ndarray)计算方阵的逆计算方阵的Moore-Penrose伪逆
qr(ndarray)计算qr分解
svd(ndarray)计算奇异值分解svd
solve(ndarray)解线性方程组Ax = b,其中A为方阵
lstsq(ndarray)计算Ax=b的最小二乘解
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值