python_numpy

Numpy的数组对象ndarray

属性
属性说明
.ndim秩。即轴的数量或维度的数量
.shape对象的尺度
.size对象元素的个数
.dtype对象的元素类型
.itemsize对象中每个元素的大小,以字节为单位
>>> import numpy as np
>>> a = np.array([[0,1,2],[3,4,5],[6,7,8]])
>>> a
array([[0, 1, 2],
       [3, 4, 5],
       [6, 7, 8]])
>>> a.ndim
3
>>> a.shape
(3, 3)
>>> a.size
9
>>> a.dtype
dtype('int32')
>>> a.itemsize
4
元素类型
数据类型说明
bool布尔,true或false
intcint整数类型
intp用于索引的整数
int8整数,取值【-128,127】
int16整数,取值【-32768,32767】
int32整数,取值【 − 2 31 , 2 31 − 1 -2^{31},2^{31}-1 231,2311
int64整数,取值【 − 2 63 , 2 63 − 1 -2^{63},2^{63}-1 263,2631
uint88位无符号整数,取值【0,255】
unit1616位无符号整数,取值【0,65535】
unit32取值【 0 , 2 32 − 1 0,2^{32}-1 02321
unit64取值【 0 , 2 64 − 1 0,2^{64}-1 0,2641
float1616位半精度浮点数
float3232位半精度浮点数
float6464位半精度浮点数
complex64复数类型,实部和虚部都是32位浮点数
complex128复数类型,实部和虚部都是64位浮点数
ndarray数组的创建变换
  1. 从python中的列表、元组等类型创建ndarray数组
    x =np.array(list/tuple)
  2. 创建函数
函数说明
np.arange(n)返回ndarray类型,元素从0到n-1
np,ones(shape)根据shape生成一个全1数组
np.zeros(shape)根据shape生成一个全0数组
np.full(shape,val)根据shape生成一个全val值的数组
np.eye(n)创建一个正方的n*n单位矩阵,对角线为1,其余为0
np.ones_like(a)根据数组a生成一个全1数组
np.zeros_like(a)根据数组a生成一个全0数组
np.full_like(a,val)根据数组a生成一个全值为val的数组
np.linspace(start,end,spac)根据气质数据等间距地填充数据
np.concatenate(start,end,n,endpoint)合并两个数组,生成一个新的数组
>>> np.array([[0,1,2],[3,4,5],[6,7,8],[9,10,11]])
array([[ 0,  1,  2],
       [ 3,  4,  5],
       [ 6,  7,  8],
       [ 9, 10, 11]])
>>> np.arange(12)
array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11])
>>> np.ones((3,3))
array([[1., 1., 1.],
       [1., 1., 1.],
       [1., 1., 1.]])
>>> np.zeros((3,3))
array([[0., 0., 0.],
       [0., 0., 0.],
       [0., 0., 0.]])
>>> np.full((2,3,4),6)
array([[[6, 6, 6, 6],
        [6, 6, 6, 6],
        [6, 6, 6, 6]],

       [[6, 6, 6, 6],
        [6, 6, 6, 6],
        [6, 6, 6, 6]]])
>>> np.eye(3)
array([[1., 0., 0.],
       [0., 1., 0.],
       [0., 0., 1.]])
       a = np.array([[0,1,2],[3,4,5],[6,7,8],[9,10,11]])
>>> a
array([[ 0,  1,  2],
       [ 3,  4,  5],
       [ 6,  7,  8],
       [ 9, 10, 11]])
>>> np.ones_like(a)
array([[1, 1, 1],
       [1, 1, 1],
       [1, 1, 1],
       [1, 1, 1]])
>>> np.zeros_like(a)
array([[0, 0, 0],
       [0, 0, 0],
       [0, 0, 0],
       [0, 0, 0]])
>>> np.full_like(a,6)
array([[6, 6, 6],
       [6, 6, 6],
       [6, 6, 6],
       [6, 6, 6]])
>>> a = np.linspace(1,10,5)
>>> a
array([ 1.  ,  3.25,  5.5 ,  7.75, 10.  ])
>>> b = np.linspace(1,10,5,endpoint = False)
>>> b
array([1. , 2.8, 4.6, 6.4, 8.2])
>>> c = np.concatenate((a,b))
>>> c
array([ 1.  ,  3.25,  5.5 ,  7.75, 10. ,\
		 1.  ,  2.8 ,  4.6 ,  6.4 ,8.2 ])
数组维度变换
方法说明
.reshape(shape)返回一个shape形状的数组,原数组不变
.resize(shape)修改原数组为shape形状
.swapaxes(ax1,ax2)将数组n个维度中两个维度进行调换
.flatien()对数组进行降维,返回折叠后的一维数组,原数组不变
数组的运算
函数说明
np.abs(x) & np.fabs(x)计算各元素的绝对值
np.sqrt(x)计算各元素的平方根
np.square(x)计算各元素的平方
np.log(x)计算各元素的对数
np.ceil(x)&np.floor(x)计算各元素的ceiling或floor
np.rint(x)对各元素四舍五入
np.modf(x)返回各元素的小数部分和整数部分
np.sin(x)…计算各元素的三角函数
np.exp(x)计算各元素的指数值
np.sign(x)计算元素符号值,1(+),0(0),-1(-)
np.fmax(x,y)元素级的最大值
np.fmin(x,y)元素级的最小值
np.mod(x,y)元素级的模运算
np.copysign(x,y)将数组y中各元素的符号赋值给数组x对应的元素

Numpy数据存储

CSV文件_适合二维以下数据
  • 写入函数:
    np.savetxt(frame,array,fmt,delimiter)
    -frame:文件
    -array:写入文件的数组
    -fmt:写入文件格式
    -deliniter:分隔字符串,默认是空格
  • 读取函数
    np.loadtxt(frame,dtype,delimiter,unpack)
    -frame:文件
    -deype:数据类型
    -delimiter:分隔字符串,默认空格
    -unpack:如果True,读入属性将分别写入不同变量
多维度数据
  • 文件写入
    a.tolife(frame,sep=’ ‘,format=’%s’)
    -frame:文件
    -sep:分隔字符串,如果是空格,写入文件为二进制
    -format:写入数据格式
  • 文件读取
  • np.froomfile(frame,deype=float,count=-1,sep=’ ')
    -frame:文件
    -deype:读取的数据类型
    -count:读入元素个数
    -sep:数据分割字符串
  • 注意:
    文件的读取时必须明确原数组的属性,写入格式。
numpy的便捷文件存取
  • 文件写入
    np.save(fname,array)
    -fname:文件
    -array:数组
  • 文件读取
    np.load(fname)
    -fname:文件名
  • 注意:
    文件以 .npy 为扩展名,压缩扩展名为 .npz

Numpy函数

函数说明
sum(a,axis=None)根据轴axis计算数组a元素之和
mean(a,axis=None)根据轴axis计算数组a元素期望值
average(a,axis=None,weights=None)根据轴axis计算数组a元素加权平均值
std(a,axis=None)根据轴axis计算数组a元素标准差
var(a,axis=None)根据轴axis计算数组a元素方差
min(a)、max(a)数组a中元素的最小(大)值
argmin(a)、argmax(a)数组a中元素最小值、最大值的降一维后下标
unravel_index(index,shape)根据shape将一维下标index转换成多维下标
ptp(a)数组a中元素最大值和最小值的差
median(a)数组a中元素的中位数
np.gradient(f)计算数组f中元素的梯度,当f为多维时,返回每个维度梯度
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值