第六次作业 numpy相关知识

物联202 邱郑思毓 2008070213

我总结我学习到的有用的知识如下:

1.简单的创建矩阵

  首先  import numpy as np

 效果如图:

之后可以用.max,.min,.sum等进行运算,.ones,.zeros,.random便可以让图中全为1,0,随机数。

矩阵之间的加减乘算法需要对应到每个单元格内的数进行相应的运算,最后得出结果。

可以看作为 

 2.索引与切片

     可以通过固定精确的坐标点找到单元格内的数据,或者可以用段(类似0:3表示0-3)用于截取矩阵中的几个单元格。

3.聚合

        聚合成为一个新的矩阵。包括矩阵的求最大值.max  求最小值.min  求和.sum。还包括用axis函数将行,列中的特定单元格组合起来(axis=0,为列;axis=1,为行)。

例如:

data.T为data矩阵的转置。

data.reshape为将列矩阵变为新的行、列矩阵,如:

为2行三列的新矩阵。

4.数组拆分

垂直拆分:numpy.vsplit(数组,份数)->(数组片段)

水平拆分:numpy.hsplit(数组,份数)->(数组片段)

      两个方法可以将矩阵垂直、水平切开分成不同的片段

numpy.dsplit(数组,份数)->(数组片段)

       该方法可以将两列的矩阵切割成为只有一列的矩阵

5.delete()函数

p1 = np.delete(matrix, 1, 0) # 第0维度(行)第1行被删除(初始行为0行)
p2 = np.delete(matrix, 1, 1) # 第1维度(列)第1行被删除
p3 = np.delete(matrix, 1) # 拉平后删除第1个元素(初始为第0个)
p4 = np.delete(matrix, [0,1], 1) # 第1维度(列)第0、1行被删除

得出结论:delete(matrix,第几行,第几维度(根据axis判断))
 

6.insert()函数

q1 = np.insert(matrix, 1, [1,1,1,1], 0) # 第0维度(行)第1行添加[1,1,1,1]
q2 = np.insert(matrix, 0, [1,1,1], 1) # 第1维度(列)第0列添加1,1,1

q3 = np.insert(matrix, 3, [1,1,1,1], 0) # 第0维度(行)第3行添加[1,1,1,1]

同理,insert(matrix,做为第几行,要添加的内容,第几维度(根据axis判断))

7.append()函数

m1 = np.append(matrix,[[1,1,1,1]],axis=0)

第0维度(行)尾部添加[[1,1,1,1]],注意两个[],相同维度
m2 = np.append(matrix,[[1],[1],[1]],axis=1)

第1维度(列)尾部添加[[1],[1],[1]],注意两个[],相同维度
m3 = np.append(matrix,[1,1,1,1])

拉平后再尾部添加[1,1,1,1],这里可以[[1,1,1,1]]和[1,1,1,1]均可
得出结论:append(matrix,添加的内容,维度数)(注意是相同维度,如果维度没写,就展开后添加)

8.np.random.choice(a, size, replace, p)

a是生成一维数组的来源,可以是int类型,可以是数组,也可以是list
size 数组的维度replace 表示从a中是否不重复抽取,默认可重复 p 给出抽取概率,默认随机

例如:a5 = np.random.choice(np.array([0,1,2,3,4,5,6]),5,p=[0.1,0.1,0.1,0.1,0.1,0.1,0.4])

          给出了数的来源,取出几个数,各个数的概率(和应为1)

9.np.prod() 计算元素乘积

np.prod(x)直接计算各元素相乘的结果

np.prod(x,axis=1)计算维度为1时的结果

10.判断两个矩阵是否相等

语法格式为:

print((ac).all())
print((a==c).any()) 

11.np.hstack() 和 np.vstack() 用于堆叠矩阵

分为水平堆叠和数值堆叠

 老师总结的numpy的相关知识很有用、全面,未整理的知识点也认真看了,学习了之后受益匪浅,给老师点赞关注!

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值