前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Numpy常用操作

Numpy常用操作

作者头像
孔西皮
发布2023-10-18 08:46:28
1470
发布2023-10-18 08:46:28
举报
文章被收录于专栏:前行的CVer

以下是关于numpy数组生成、计算、索引、统计、保存的常用api备忘。

数组生成:

  • np.arange(0,10) 生成[0,10)的顺序矩阵
  • np.zeros((3,2)) 生成尺寸为(3,2)的全0矩阵
  • np.random.rand(4,3) # 0~1的随机小数矩阵,4行3列
  • np.random.randint(0, 10, size=5) # 随机数(5个):第1个起始;第2个结束(不包括);第3个随机数个数
  • np.random.randint(0, 10, size=(2, 5)) # 随机数组/矩阵(5个):第1个起始;第2个结束(不包括);第3个随机数个数(行,列)
  • np.random.seed(100) # 随机数种子,种子不变,每次生成的随机数也不变
  • 或者使用rs = np.random.RandomState(100)设置随机数种子,然后通过rs.rand(4)等方法来使用,生成四个随机数
  • np.random.random(5) # 随机数(float型),5个
  • np.random.random((3, 5)) # 随机数组/矩阵(float型),(3行,5列)
  • np.random.normal(size=5) # 正态分布的5个随机数
  • np.random.normal(size=(3, 5)) # 正态分布的5个随机数组

数组变换

  • np.pad(a,((3,2),(2,3)),'constant',constant_values = (0,0)) 在a第0个维度,前面填3个0,后面填2个0;在a第1个维度,前面填2个0,后面填3个0
代码语言:javascript
复制
array([[95, 96],   
       [97, 98]])                           

array([[ 0,  0,  0,  0,  0,  0,  0],
       [ 0,  0,  0,  0,  0,  0,  0],
       [ 0,  0,  0,  0,  0,  0,  0],
       [ 0,  0, 95, 96,  0,  0,  0],
       [ 0,  0, 97, 98,  0,  0,  0],
       [ 0,  0,  0,  0,  0,  0,  0],
       [ 0,  0,  0,  0,  0,  0,  0]])

数组选择

  • np.argwhere(condition) 返回满足条件的索引

数组计算:

  • np.concatenate(x1,x2,axis=0)数组拼接
  • 按元素相乘:a*bnp.multiply(a,b)
  • 矩阵乘法:a@b 或者np.dot(a,b)
  • 矩阵的张量积:np.kron(a,b)
  • data.T 数组转置
  • data.I 矩阵求逆
  • 矩阵插入一行或一列
  • np.tile(data, repeat) 矩阵复制, data为要实施复制的矩阵,repeat为各个维度分别重复的次数,例如:
代码语言:javascript
复制
t = np.array([1,2,3])
np.tile(t, [3,1])
Out:
array([[1, 2, 3],
[1, 2, 3],
[1, 2, 3]])

数组统计:

  • a.argmax(axis=0) 求每一行或每一列的最大值的索引
  • np.argsort(R, axis=1) 将array数组进行排序并获取排序后的索引(从小到大)
  • a[:,-3:] 获取数组每行的倒数前三位
  • np.sum( ndarray == 1 ) 查询array中1的个数
  • np.mean(t,axis=0) 对列求平均
代码语言:javascript
复制
>>> a = np.array([[1, 2], [3, 4]])
>>> a
array([[1, 2],
[3, 4]])
>>> np.mean(a)
2.5
>>> np.mean(a, axis=0) # axis=0,计算每一列的均值
array([ 2.,  3.])
>>> np.mean(a, axis=1) # 计算每一行的均值
array([ 1.5,  3.5])

数组保存:

  1. numpy.save("filename.npy",a) 利用这种方法,保存文件的后缀名字一定会被置为.npy,这种格式最好只用 numpy.load("filename")来读取。
  2. numpy.savetxt("filename.txt",a) b = numpy.loadtxt("filename.txt") 用于处理一维和二维数组
  • 保存目录不存在的话创建目录:
代码语言:javascript
复制
import os
if not os.path.isdir(dir_name):
os.makedirs(dir_name)
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-07-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 数组生成:
  • 数组变换
  • 数组选择
  • 数组计算:
  • 数组统计:
  • 数组保存:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档