最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
python中矩阵、数组使用@的含义
时间:2026-08-13 09:33:50 编辑:袖梨 来源:一聚教程网
处理python中矩阵、数组使用@的含义这类问题时,先确认目标场景,再按步骤核对配置或玩法细节。
1.当@连接的两项为数组时,有两种计算形式:
(1)符合矩阵运算维度:(m×n)维×(n×y)维 =(m×y)维
运算方式与矩阵相乘类似:对应位置相乘再相加,运算期间类类型都为数组

例子见下:
a = np.arange(12).reshape(3,4)b = np.arange(12).reshape(4,3)print(a)'''[[ 0 1 2 3] [ 4 5 6 7] [ 8 9 10 11]]'''print(b)'''[[ 0 1 2] [ 3 4 5] [ 6 7 8] [ 9 10 11]]'''c = a @ bprint(c)'''[[ 42 48 54] [114 136 158] [186 224 262]]'''#<class 'numpy.ndarray'>
(2)不符合矩阵运算维度:(m×n)维×(1×n)维 =(1×m)维
运算方式为:第一个数组的第1行与第二个数组对应位置相乘相加后,得到结果的第1位,第一个数组的第2行与第二个数组对应位置相乘相加后,得到结果的第2位…
例子见下:
a = np.arange(12).reshape(3,4)b = np.arange(4)print(a)'''[[ 0 1 2 3] [ 4 5 6 7] [ 8 9 10 11]]'''print(b)#[0 1 2 3]c = a @ bprint(c)'''[14 38 62]'''
2.当@连接的两项为矩阵时
维度必须符合矩阵运算:(m×n)维×(n×y)维 =(m×y)维
a = np.mat(np.arange(12).reshape(3,4)) #<class 'numpy.matrix'>b = np.mat(np.arange(4).reshape(3,4))print(a)'''[[ 0 1 2 3] [ 4 5 6 7] [ 8 9 10 11]]'''print(b)'''[[0] [1] [2] [3]]'''c = a @ bprint(c)'''[[14] [38] [62]]'''
3.当@连接的两项一项为矩阵,一项为数组时
运算维度维度:(m×n)维×(1×n)维 =(1×m)维
运算方式为:第一个数组的第1行与第二个数组对应位置相乘相加后,得到最终结果的第1位,第一个数组的第2行与第二个数组对应位置相乘相加后,得到最终结果的第2位…
运算结果为矩阵
a = np.mat(np.arange(12).reshape(3,4))b = np.arange(4)c = a @ bprint(a)'''[[ 0 1 2 3] [ 4 5 6 7] [ 8 9 10 11]]'''print(b)'''[0 1 2 3]'''print(c)#[[14 38 62]]
相关文章
- 华为面板路由器怎么设置(华为面板路由器设置教程) 08-16
- 华为a2路由器覆盖面积(华为a2路由器覆盖面积有多大) 08-16
- 华为ax3路由器覆盖面积(华为ax3路由器覆盖面积有多大) 08-16
- 如何下载汽水音乐电脑版 08-16
- 华为AX6路由器覆盖面积(华为AX6路由器覆盖面积是多大) 08-16
- 华为ax2pro路由器覆盖面积(华为ax2pro路由器覆盖面积是多少) 08-16