物联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判断))
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,添加的内容,维度数)(注意是相同维度,如果维度没写,就展开后添加)
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时的结果
语法格式为:
print((ac).all())
print((a==c).any())
分为水平堆叠和数值堆叠
老师总结的numpy的相关知识很有用、全面,未整理的知识点也认真看了,学习了之后受益匪浅,给老师点赞关注!