Python广播

1、python的广播,方便计算

①一维向量+常量

②多维向量+常量

③多维向量+行向量(要求一致)

④多维向量+列向量(要求一致)

#coding:utf-8
import numpy as np
if __name__=="__main__":
    #注意是3行,秩为1的矩阵
    a=np.array([1,2,3])
    print a.shape
    a=a.reshape(3,1)
    print a.shape
    b=a.T
    print a
    print b
    #一维矩阵广播,常量扩展成相同大小矩阵
    print a+1
    print b+2
    #多维矩阵广播,常量,行向量,列向量
    a=np.array([[1,2,3],[4,5,6]])
    b=[1,2,3]
    c=[[4],[5]]
    print a+1
    print a+b
    print a+c
结果显示:
(3,)      
(3, 1)
[[1]   
 [2]
 [3]]
[[1 2 3]]     
[[2]           //一维向量+常数
 [3]
 [4]]
[[3 4 5]]
[[2 3 4]       //多维向量+常数
 [5 6 7]]
[[2 4 6]       //多维向量+行向量
 [5 7 9]]
[[ 5  6  7]    //多维向量+列向量
 [ 9 10 11]]

你可能感兴趣的:(Python)