import numpy as np
numpy基本加减和取行操作—-python的广播机制
a = np.array([1, 1, 1, 1])
b = np.array([[1], [1], [1], [1]])
c = np.array([[1, 1, 1, 1]])
a+b
c+b
numpy下标索引与切片
W = np.array([[1,1,1], [2,2,2]])
W[:, 1]
W[1]
W[:, 1] = np.array([5, 5])
W
矩阵删除、插入、尾部添加操作(delete, insert, append)
delete()函数
matrix = np.array([[1,2,3,4], [5,6,7,8], [9,10,11,12]])
p1 = np.delete(matrix, 1, 0) # 第0维度第一行被删除
print(p1)
p2 = np.delete(matrix, 1, 1) # 第一维度第一行被删除
print(p2)
p3 = np.delete(matrix, 1) # 拉平后删除第一个元素(初始为第零个)
print(p3)
p4 = np.delete(matrix, [0,1], 1) # 第一列第0,1行被删除
print(p4)
insert()函数
q1 = np.insert(matrix, 1, [1,1,1,1], 0) # 第0列第一行添加[1,1,1,1]
print(q1)
q2 = np.insert(matrix, 0, [1,1,1], 1) # 第1列第0行添加1,1,1
print(q2)
q3 = np.insert(matrix, 3, [1,1,1,1], 0) # 第0维度(行)第3行添加[1,1,1,1]
print(q3)
append()函数
m1 = np.append(matrix,[[1,1,1,1]],axis=0) # 第0维度(行)尾部添加[[1,1,1,1]],注意两个[],相同维度
print(m1)
m2 = np.append(matrix,[[1],[1],[1]],axis=1) # 第1维度(列)尾部添加[[1],[1],[1]],注意两个[],相同维度
print(m2)
m3 = np.append(matrix,[1,1,1,1]) # 拉平后再尾部添加[1,1,1,1],这里可以[[1,1,1,1]]和[1,1,1,1]均可
print(m3)
np.argmax(a, axis=None, out=None)
num1 = np.array([[1,1,1],[2,2,2],[0,3,6]])
num1
num2 = np.argmax(num1) # 将数组a拉平,最大值索引为9
num2
8
num3 = np.argmax(num1, axis=0) # 按列选取最大值的索引
num3
num4 = np.argmax(num1, axis=1) # 按行选取最大值的索引
num4
np.prod() 计算元素乘积
asd = np.array([[101,21,323],[224,321,442]])
np.prod(asd)
1822726720
np.prod(asd,axis=1)
np.prod(asd,axis=0)
np.zeros_like()构造全零矩阵,无需指定大小
zxc = np.array([[11,22,32],[43,54,65]])
np.zeros_like(zxc) # 生成一个和x大小相同的全零矩阵
np.random.rand() 生成均匀分布矩阵,创建一个矩阵,服从[0,1]随机分布
qwe = np.random.rand(5,3)
qwe
np.random.randn() 生成正态分布矩阵
qwe1 = np.random.rand(5,8)
qwe1
np.randm.randint() 生成离散均匀分布的整数值组成的矩阵
qwe2 = np.random.randint(4,9,(2,3))
qwe2
np.meshgrid() 快速生成网格
meshgrid(x,y) 可用于快速生成由于 x轴坐标 x 和 y 轴坐标 y 组合的网格点
asd1 = np.array([1,3,5])
asd2 = np.array([4,6])
ASD1, ASD2 = np.meshgrid(asd1, asd2)
ASD1
ASD2
numpy取整—-round,floor,ceil
# round
zxc1 = np.array([0.125,0.568,5.688])
np.round(zxc1) # 四舍五入取整
np.round(zxc1,decimals = 2) # 四舍五入保留2位小数
np.floor(zxc1) # 向下取整
np.ceil(zxc1) # 向上取整
np.newaxis 在特定位置增加一个维度
abc = np.array([1,2,5,4])
abc[:, np.newaxis]
abc[np.newaxis, :]