Python广播

发布时间:2019-09-12 08:00:38编辑:auto阅读(2106)

    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]]

关键字