文章目录:
1. zeros 函数: 用于初始化全 0 的矩阵
2. ones 函数: 初始化, 赋值 矩阵.
3. reshape 函数: 重新构建矩形 形状
4. linspace 函数: 在指定的间隔内返回均匀间隔的数字
5. argmax 函数: 计算矩阵, 每行最大值下标
6. equal 函数: 比较对应列的值是否相同
7. hstack 函数: 水平方向追加
8. vstack 函数: 垂直方向追加
9. 逆序
1. zeros 函数: 用于初始化全 0 的矩阵
例子:
import numpy as np
#初始化 1个 3行 2列 的矩阵(每个元素默认为浮点数)
data = np.zeros([3, 2])
print("data-1:%s"%data)
'''
输出结果:
[
[0. 0.]
[0. 0.]
[0. 0.]
]
'''
#初始化 1个 3行 2列 的矩阵(设置每个元素为8位int)
data = np.zeros([3, 2], np.uint8)
print("data-2:%s"%data)
'''
输出结果:
[
[0 0]
[0 0]
[0 0]
]
'''
#初始化 4个 3行 2列 的矩阵(设置每个元素为8位int)
data = np.zeros([4, 3, 2], np.uint8)
print("data-3:%s"%data)
'''
输出结果:
[
[
[0 0]
[0 0]
[0 0]
]
[
[0 0]
[0 0]
[0 0]
]
[
[0 0]
[0 0]
[0 0]
]
[
[0 0]
[0 0]
[0 0]
]
]
'''
2. ones 函数: 初始化, 赋值 矩阵.
例子:
import numpy as np
#矩阵初始化 3个 3行 2列 的矩阵(每个元素默认为8为int), 默认值为6
data = np.ones([3, 3, 2], np.uint8) * 6
print("data-1:%s"%data)
'''
输出结果:
[
[
[6 6]
[6 6]
[6 6]
]
[
[6 6]
[6 6]
[6 6]
]
[
[6 6]
[6 6]
[6 6]
]
]
'''
#矩阵赋值 将第下标为的 1 的矩阵, N行, N列 的值, 批量更改为7
data[1, :, :] = np.ones([3, 2], np.uint8) * 7
print("data-2:%s"%data)
'''
输出结果:
[
[
[6 6]
[6 6]
[6 6]
]
[
[7 7]
[7 7]
[7 7]
]
[
[6 6]
[6 6]
[6 6]
]
]
'''
#矩阵赋值 将第下标为的 1 的矩阵, 下标为 2 的行, N列 的值, 批量更改为8
data[1, 2, :] = np.ones([2], np.uint8) * 8
print("data-3:%s"%data)
'''
输出结果:
[
[
[6 6]
[6 6]
[6 6]
]
[
[7 7]
[7 7]
[8 8]
]
[
[6 6]
[6 6]
[6 6]
]
]
'''
#矩阵赋值 将第下标为的 1 的矩阵, N行, 下标为1的列 的值, 批量更改为9
data[1, :, 1] = np.ones([3], np.uint8) * 9
print("data-4:%s"%data)
'''
输出结果:
[
[
[6 6]
[6 6]
[6 6]
]
[
[7 9]
[7 9]
[8 9]
]
[
[6 6]
[6 6]
[6 6]
]
]
'''
3. reshape 函数: 重新构建矩形 形状
例子:
import numpy as np
#初始化为 3行 2列 的矩阵(每个元素默认为8为int), 默认值为6
data = np.ones([3, 2], np.uint8) * 6
print("data-1:%s"%data)
'''
输出结果:
[
[6 6]
[6 6]
[6 6]
]
'''
#矩阵转换为 1行, 6列
data2 = data.reshape([1, 6]);
print("data-2:%s"%data2)
'''
输出结果:
[
[6 6 6 6 6 6]
]
'''
#矩阵转换为 2行, 3列
data3 = data2.reshape([2, 3]);
print("data-3:%s"%data3)
'''
输出结果:
[
[6 6 6]
[6 6 6]
]
'''
4. linspace 函数: 在指定的间隔内返回均匀间隔的数字
import numpy as np
#在 0-4 范围内, 返回5个 均匀间隔的数字.
x_data = np.linspace(0, 4, 5)
print(x_data)
'''
输出结果:
[ 0. 1. 2. 3. 4. ]
'''
5. argmax 函数: 计算矩阵, 每行最大值下标
import numpy as np
#创建一个 2 行 2 列 的矩阵,
p1 = np.array([[0, 5, 3], [1, 2, 3]])
print(p1)
res = np.argmax(p1, 1)
print(res)
'''
计算数据:
[
[0, 5, 3], #矩阵1, 最大值下标为: 1
[1, 2, 3] #矩阵2, 最大值下标为: 2
]
结果数据:
[1 2]
结果解释:
[
1 #矩阵 1 的结果
2 #矩阵 2 的结果
]
'''
6. equal 函数: 比较对应列的值是否相同
import numpy as np
p1 = np.array([0, 2, 3])
p2 = np.array([0, 1, 3])
res = np.equal(p1, p2) #比较对应列的值, 是否相同.
print(res)
'''
计算数据:
[
[0, 2, 3], #矩阵1,
[0, 1, 3] #矩阵2,
]
结果数据:
[ True, False, True ]
'''
7. hstack 函数: 水平方向追加
import numpy as np
p1 = np.array([1, 2, 3])
p2 = np.array([4, 5, 6])
res = np.hstack((p1, p2)) #水平方向追加
print(res)
'''
计算数据:
[
[1, 2, 3], #矩阵1,
[4, 5, 6] #矩阵2,
]
结果数据:
[ 1, 2, 3, 4, 5, 6 ]
'''
8. vstack 函数: 垂直方向追加
import numpy as np
p1 = np.array([1, 2, 3])
p2 = np.array([4, 5, 6])
res = np.vstack((p1, p2)) #水平方向追加
print(res)
'''
计算数据:
[
[1, 2, 3], #矩阵1,
[4, 5, 6] #矩阵2,
]
结果数据:
[
[1, 2, 3 ],
[4, 5, 6 ]
]
'''
9.逆序
import numpy as np
p1 = np.array([[1, 2, 3], [4, 5, 6]])
p2 = p1[::-1] # 第1个 [ 里面的数据 逆序
p3 = p1[:, ::-1] # 第2个 [ 里面的数据 逆序
print(p1)
print(p2)
print(p3)
'''
p1数据:
[
[1, 2, 3],
[4, 5, 6]
]
p2数据:
[
[4, 5, 6],
[1, 2, 3]
]
p3数据:
[
[3, 2, 1],
[6, 5, 4]
]
'''