Numpy小部分总结

ndarray

创建数据最简单的办法是使用array函数,可以把一个列表转换成数组
比如:

data=[[1,2,3,4,5],[6,7,8,9,10]]
array=np.array(data)

numpy中的zeros和ones可以创建指定长度或形状的全为0或者全为1的数组,empty创建一个没有任何具体值的数组。

np.zeros((1,2))#创建一行二列的全为0的数组
np.empty((4,5,4))

还有ones_like,zeros_like,empty_like,eye和identity(对角阵)以及
arange【np.arange(min,max,stride)】
numpy的数据类型查看通过dtype,数据类型转变通过astype(np.int64)
#bool,complex64,float64

数组和标量间的运算

大小相等的数组之间的任何算数运算都会将运算应用到元素级:

array=np.array([[1,2,3,4,5],[6,7,8,9,10]])
array*array
array+array
array-array

同样,数组和标量的算数运算也会将那个标量值传播到各个元素:

1/array
array*5

不同大小的数组之间的运算叫做广播:

索引和切片

array=np.arange(2,22,2)

#元素索引
array[4]

#切片索引
array[2:5]

#高纬度的花式切片
arr2d[:2,:2]#只有冒号表示选取整个轴
arr2d[:2,:2]=0#对切片表达式的赋值操作将会被扩散到整个选区
arr=np.empty((8,4))
for i in range(8):
    arr[i]=i
arr[[4,3,0,6]]

数组转置和轴对换

arr=np.arange(15).reshape((3,5))
arr.T#矩阵转置
arr1=np.random.randn(6,3)
np.dot(arr.T,arr1)#计算矩阵内积
#swapaxes方法也是转置
arr.T=arr.swapaxes(1,2)

#对于高维数组,它的转置需要一个由轴编号组成的元组才能进行转置
arr=np.arange(16).reshape((2,2,4))
arr.transpose((1,0,2))

快速的元素级数组函数

sqrt,exp,maximun(元素级最大值)
abs,fabs#绝对值
square#平方
log10,log2,log1p=log(1+x)
sign#正数1,0,负数-1
ceil
modf#返回数组的小数和整数部分
isnan,cos,cosh,sin,sinh,tan,tanh,,arccos,arcsin,arctan
add,subtract,multiply,divide
mod,equal,not_equal

数学和统计方法

sum #求和运算
mean #算数平均值
std,var#标准差和方差
min,max#最大值和最小值
argmin,argmax#分别为最大值和最小值的索引
cumsum #所有元素的累计和
cumprod#所有元素的累计积
sort#排序
unique(x)#计算x中的唯一值
intersect1d(x,y)#计算x和y的公共元素
union1d(x,y)#计算x和y的并集
in1d(x,y)#得到一个x是否包含于y的布尔型数组
setdiff1d(x,y)#集合的差
setxor1d(x,y)#集合的对称差

数组文件输入输出

#np.save和np.load是读写磁盘数组数据的两个主要函数
arr=np.arange(10)
np.save('some_array',arr)
np.load('some_array.npy')

#savez可以将多个数组保存到一个压缩文件中
np.savez('array_archive',a=arr,b=arr1)
arch=np.load('array_archive.npz')
arch['b']

#存取文本文件
#np.loadtxt或者np.genfromtxt
arr=np.loadtxt('1.txt',delimiter=',')#delimiter表示分割的字符
#np.savetxt

线性代数

矩阵乘法的dot函数
inv是矩阵求逆
trace是计算对角线元素之和
det是计算矩阵行列式
qr是计算QR分解
svd是奇异值分解
solve是解线性方程组Ax=b
lstsq是解Ax=b的最小二乘解
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以为您总结一下Numpy数组与矩阵运算实验的内容。 NumpyPython中用于科学计算的一个重要的库,它提供了高性能的多维数组对象以及各种计算和操作这些数组的函数。Numpy数组与矩阵运算实验主要包括以下内容: 1. Numpy数组的创建与索引:可以使用Numpy提供的array()函数创建一维或多维数组,并且可以使用索引和切片来访问数组中的元素。 2. Numpy数组的基本运算Numpy提供了基本的数组运算,包括加、减、乘、除等,可以对数组进行逐元素的运算。 3. Numpy数组的聚合运算Numpy提供了一些常用的聚合函数,比如sum()、min()、max()、mean()等,可以对数组中的元素进行聚合运算。 4. Numpy数组的逻辑运算Numpy提供了逻辑运算符,可用于数组中元素的逻辑判断,如and、or等。 5. 矩阵的创建与运算Numpy提供了矩阵对象,可使用matrix()函数创建矩阵,矩阵之间的运算包括加、减、乘、转置等。 6. 广播:Numpy提供了广播功能,可以使得不同形状的数组在运算时具有相同的形状。 通过实验练习,可以掌握Numpy数组与矩阵运算的基本操作,如数组创建、索引、运算、聚合、逻辑运算以及矩阵创建、运算、转置等。同时,实验也会涉及到一些高级的Numpy应用,比如随机数生成、线性代数运算、数组的拼接、切分和重塑等,这些内容需要结合实际应用场景进行练习。 总的来说,Numpy数组与矩阵运算实验是Python科学计算中非常重要的部分,需要反复练习和实践,才能掌握这些知识点并灵活运用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值