Numpy 之 ndarray 的常用属性及函数

本文详细介绍了NumPy库的功能,包括各种数据类型、数组操作、数学统计、随机数生成等核心函数与属性,适合初学者快速掌握NumPy的使用。

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

A 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

表2.1.A.1 NumPy类型

生成函数作用
np.array( x)将输入数据转化为一个ndarray
np.array( x, dtype)将输入数据转化为一个类型为type的ndarray
np.asarray( array )将输入数据转化为一个新的(copy)ndarray
np.ones( N )生成一个N长度的一维全一ndarray
np.ones( N, dtype)生成一个N长度类型是dtype的一维全一ndarray
np.ones_like( ndarray )生成一个形状与参数相同的全一ndarray
np.zeros( N)生成一个N长度的一维全零ndarray
np.zeros( N, dtype)生成一个N长度类型位dtype的一维全零ndarray
np.zeros_like(ndarray)类似np.ones_like( ndarray )
np.empty( N )生成一个N长度的未初始化一维ndarray
np.empty( N, dtype)生成一个N长度类型是dtype的未初始化一维ndarray
np.empty(ndarray)类似np.ones_like( ndarray )
np.eye( N )创建一个N * N的单位矩阵(对角线为1,其余为0)
np.identity( N )N的单位矩阵(对角线为1,其余为0)
np.arange( num)生成一个从0到num-1步数为1的一维ndarray
np.arange( begin, end)生成一个从begin到end-1步数为1的一维ndarray
np.arange( begin, end, step)生成一个从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数组

矩阵函数说明2
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)返回二者的对称差

B NumPy.ndarray函数和属性:

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

表2.1.B.1 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()是否至少有一个True
nndarray.dot( ndarray)计算矩阵内积
排序函数说明
ndarray.sort(axis=0)排序,返回源数据

表2.1.B.2 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]选取第n+1行第m+1个元素
ndarray[n][m]选取第n+1行第m+1个元素
ndarray[n,m,…]选取n行n列…的元素表2.1.B.3 ndarray索引/切片方式
ndarray[n][m]…选取n行n列…的元素表2.1.B.3 ndarray索引/切片方式

C NumPy.random函数和属性:

函数说明
seed()确定随机数生成种子
seed(int)确定随机数生成种子
seed(ndarray)确定随机数生成种子
permutation(int)返回一个一维从0~9的序列的随机排列
permutation(ndarray)返回一个序列的随机排列列
shuffle(ndarray)对一个序列就地随机排列
rand(int)产生int个均匀分布的样本值
randint(begin,end,num=1)从给定的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)中均匀分布的样本值

注意: 每个统计函数都可以按行和列来统计计算; 当 axis=1 时,表示沿着横轴计算; 当 axis=0 时,表示沿着纵轴计算;

NumPy中最基本的数据类型是`ndarray`,即N维数组,它除了可以存储多维数组外,还提供了丰富的属性和方法,方便对数组进行各种操作。下面列举了`ndarray`的常用属性和方法: **属性:** 1. `ndarray.shape`:表示数组的形状(即每个维度的大小),返回一个元组。 2. `ndarray.ndim`:表示数组的维度数。 3. `ndarray.size`:表示数组中元素的总个数。 4. `ndarray.dtype`:表示数组元素的数据类型。 5. `ndarray.itemsize`:表示数组中每个元素的字节大小。 6. `ndarray.data`:包含实际数组元素的缓冲区。 **方法:** 1. 数组创建 - `np.array()`:从列表、元组等序列对象创建数组。 - `np.zeros()`:创建全零数组。 - `np.ones()`:创建全一数组。 - `np.empty()`:创建空数组。 - `np.arange()`:创建一维数组,类似于Python的range函数。 - `np.linspace()`:创建指定范围内的等间隔一维数组。 - `np.eye()`:创建单位矩阵或者说对角线上元素为1的矩阵。 2. 数组操作 - 索引和切片:与Python中的列表类似,可以使用索引和切片来访问数组元素。 - 数组形状变换:`reshape()`、`resize()`、`transpose()`、`flatten()`等方法可以改变数组的形状。 - 数组连接:`concatenate()`、`stack()`、`hstack()`、`vstack()`等方法可以实现数组的连接操作。 - 数组拆分:`split()`、`hsplit()`、`vsplit()`等方法可以实现数组的拆分操作。 3. 数组计算 - 数组运算:支持加、减、乘、除、幂运算等基本算术运算。 - 通用函数:支持绝对值、三角函数、指数和对数函数等各种通用函数。 - 统计函数:支持计算数组的平均值、标准差、方差、最大值、最小值等统计函数。 4. 数组排序 - `sort()`、`argsort()`、`lexsort()`、`partition()`等方法可以实现数组的排序操作。 5. 数组文件读写 - `save()`、`savez()`、`load()`等函数可以实现NumPy数组的文件读写操作。 以上是`ndarray`的常用属性和方法,掌握这些属性和方法可以方便地对数组进行各种操作,实现各种数学和科学计算任务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Lonelypatients°

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值