Numpy的函数收集

1)基本属性
ndim:维度
shape:各维度的尺度
size:元素的个数
dtype:元素的类型dtype
itemsize:每个元素的大小,以字节为单位
2)生成函数
np.arange(n):元素从0到n-1的ndarray类型
np.ones(shape):生成全1数组
np.zeros((shape),dtype=np.int32):生成int32型的全0数组
np.full(shape,val):生成全为val的数组,
np.eye(n):生成单位矩阵
np.ones_like(a):按数组a的形状生成全1的数组
np.zeros_like(a):按数组a的形状的生成全0的数组
np.full_like(a,val):按数组a的形状的生成全为val的数组
np.linspace(1,10,4):根据起止数据等间距的生成数组
np.linspace(1,10,4,endpoint=False):endpoint表示10是否作为生成的元素

3)数组的维度变换
reshape(shape):不改变当前的数组,依shape生成想要的形状
resize(shape):改变当前数组,依shape生成
swapaxes(ax1,ax2):将两个维度调换
flatten():对数组进行降维,返回折叠后的一位数组

4)数组的类型变换
数据类型转换:a.astype(new_type)
数组向列表的转换:a.tolist()
一维数组的切片:
a=np.array([9,8,7,6,5,])
a[1:4:2]->array([8,6]):a[起始编号:终止编号(不含):步长]
多维数组索引:
a=np.arange(24).reshape((2,3,4))
a[1,2,3]表示3个维度的编号,各个维度的编号用逗号分隔
多维数组切片
a[:,:,:,: :2]缺省时,表示从第0个元素开始,到最后一个元素

5)数组的运算:
np.abs(a),np.fabs(a)取各元素的绝对值
np.aprt(a):计算各元素的平方根
np.square(a):计算各元素的平方
np.log(a) ,np.log10(a),np.log2(a):计算各元素的自然对数,10,2为底的对数
np.ceil(a),np.floor(a):计算各元素的ceiling的值,floor值(ceiling向上取整,floor向下取整)
np.rint(a):各元素四舍五入
np.modf(a):将数组各元素的小数和整数部分以两个独立数组形式返回
np.exp(a):计算各元素的指数值
np.sign(a):计算各元素的符号值1(+),0,-1(-)
np.maximum(a,b),np.fmax():比较(或者计算)元素级的最大值
np.minimum(a,b),np.fmin():取最小值
np.mod(a,b):元素级的模运算
np.copysign(a,b):将b中各元素的符号赋值给数组a的对应元素

6)数据的csv文件存取
CSV(Comma-Separated Value,逗号分隔值) 只能存储一维和二维数组
np.savetxt(frame,array,fmt=’ %.18e’,delimiter=None):frame是文件,字符串等,可以死是.gz .bz2的压缩文件;array表示存入的数组;fmt表示元素的格式;demiliter:分隔字符串,默认是空格,
eg:np.savetxt(‘a.csv’,a,fmt=%d,delimiter=’,’)

np.loadtxt(frame,dtype=np.float,delimiter=None,unpack=False):frame是文件,字符串等,可以是gz bz2的压缩文件;dtype:数据类型,读取的数据以此类型存储;delimiter:分隔字符串,默认是空格;unpack:如果是True,读入属性将分别写入不同变量。

7)多维数据的存取
a.tofile(frame,sep=’’,format=’%s’):frame:文件,字符串;sep:数据分隔字符串,如果是空串,写入文件为二进制;
format:写入数据的格式
eg:a=np.arange(100).reshape(5,10,2)
a.tofile(“b.dat”,sep=",",format=’%d’)

np.fromfile(frame,dtype=float,count=-1,sep=’’):frame:文件,字符串;dtype:读取的数据以此类型存储;count:读入的元素个数,-1表示读入整个文件;sep:数据分隔字符串,如果是空串,写入文件为二进制

a.tofile()和np.fromfile()要配合使用,要知道数据的类型和维度。

np.save(frame,array):frame:文件名,以.npy为扩展名,压缩扩展名为.npz,array为数组变量
np.load(frame):frame:文件名,以.npy为扩展名,压缩扩展名为.npz

np.save()和np.load()使用时,不用考虑数据类型和维度。

8)numpy的随机数函数
rand(d0,d1,…,dn):各元素[0,1)的浮点数,服从均匀分布
randn(d0,d1,…,dn):标准正态分布
randint(low,high,(shape)):依shape创建随机整数或整数数组,范围是[low,high)
seed(s):随机数种子
shuffle(a):根据数组a的第一轴进行随机排列,改变数组a
permutation(a):根据数组a的第一轴进行随机排列,但是不改变原数组,将生成新数组
choie(a[,size,replace,p]):从一维数组a中以概率p抽取元素,形成size形状新数组,replace表示是否可以重用元素,默认为False

uniform(low,high,size):产生均匀分布的数组,起始值为low,high为结束值,size为形状
normal(loc,scale,size):产生正太分布的数组,loc为均值,scale为标准差,size为形状
poisson(lam,size):产生泊松分布的数组,lam随机事件发生概率,size为形状
eg:a=np.random.uniform(0,10,(3,4))

9)numpy的统计函数
sum(a,axis=None):依给定的轴计算数组a相关元素之和,axis为整数或元祖
mean(a,axis=None):同理,计算平均值
average(a,axis=None,weights=None) :依给定的轴计算数组a相关元素的加权平均值
std(a,axis=None) :同理,计算标准差
var(a,axis=None):计算方差
eg:np.mean(a,axis=1):对数组a的第二维度的数据进行求平均

min(a),max(a):计算数组a中的最小值和最大值
argmin(a),argmax(a):计算数组a的最小,最大值的下标
unravel_index(index,shape):根据shape将一维下标index转成多维下标
ptp(a):计算数组a最大值和最小值的差
median(a):计算数组a中元素的中位数

10)图像的表示和变换
PIL,python image library库
from PIL import Image
Image是PIL库中代表一个图像的类(对象)
im=np.array(Image.open(".jpg"))
im=Image.fromarray(b.astype(‘uint8’)) #生成
im.save(“路径.jpg”) #保存
im=np.array(Image.open(".jpg").convert(‘L’)) #转为灰度图像

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值