欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

numpy(一)

程序员文章站 2022-05-25 17:30:15
np.zeros(10,dtype=int) #创建全为0的一位数组 np.ones((3,5),dtype=float) #创建3*5的二维全为1的数组 np.full((3,5),3.14) #创建全为3.14的3*5数组 np.arange(0,20,2) #创建0-20步长为2的线性序列数组 ......

np.zeros(10,dtype=int) #创建全为0的一位数组

np.ones((3,5),dtype=float) #创建3*5的二维全为1的数组

np.full((3,5),3.14) #创建全为3.14的3*5数组

np.arange(0,20,2)  #创建0-20步长为2的线性序列数组 和range相似

np.linspace(0,1,5)  #创建0-1之间的5个数数组

np.random.random((3,3)) #创建3*3在0-1之间均匀分布的随机数组成的数组

np.random.normal(0,1,(3,3)) #创建3*3的均值为0方差为1的正态分布随机数数组

np.random.randint(0,10,(3,3)) #创建3*3在0-10区间的随机整数型数组

np.eye(3) # 创建3*3的单位矩阵

np.empty(3) #创建一个有3个整数型组成的未初始化数组,值可以使内存空间的任意值

 

 

 

np属性:

  np.ndim 数组的维度

  np.shape 数组的每个维度大小

  np.size  数组的总大小

  dtype 数据类型

 

切片,索引:

  x=np.array([5,2,3,7,8,9])

  x[0] #取索引为0的值

  x[-1] #取最后一个值

  x2=np.arange(0,24).reshape((3,8))

  x2[0,1] #取行索引为0列索引为1的值

  x2[0,0]=12 #修改值

  #当将一个浮点型插入到整数型数组中时,浮点型会被截断

  

  一维切片:

  x=np.arange(10)

  x[:5]  #取前五个元素

  x[5:] #取后五个元素

  x[4:7] # 取中间子数组

  x[::2]  #步长为2取出数组

  x[::-1] #逆向取数组

  

  多维切片:

  x2=np.arange(12).reshape((3,4))

  x2[:2,:3] #两行三列

  x2[:3,::2] #取三行,列隔行取

  x2[::-1,::-1] # 逆向取

  x2[:,0] #取第一列

  x2[0,:] # 取第一行

  x2[0]  #取第一行简化

       *注意切片获取到的元素改变原数组也会改变,需加copy

  

  reshape重组数组

  np.arange(12).reshape((3,4)) #重组成3*4的二维数组

  x2[np.newaxis,:]  #获取行向量

  x2[:,np.newaxis] #获取列向量

  

  数组拼接:

  一维数组:   

  x=np.array([1,2,3])
  y=np.array([3,2,1])
  z=np.array([4,5,6])

  np.concatenate([x,y,z])  

  

  二维数组:

  x=np.arange(12).reshape((3,4))

  y=np.arange(12,24).reshape((3,4))

  np.concatenate([x,y],axis=1) # axis=1左右拼接,axis=0上下拼接

  np.vstack 垂直栈函数,上下拼接,np.hstack 水平栈左右拼接

  np.dstack 沿第三个维度拼接

  

数组分裂:

  x=[1,2,3,55,55,3,2,1]

  x1,x2,x3 = np.split(x,[3,5])

  vsplit 行分裂,hspit列分裂,dsplit第三维度分裂