# -*- coding: utf-8 -*- import numpy as np #广播运算: 用于数组的形状(也就是行列数不同时需要进行的计算) # ============================================================================= #广播规则: #1.各数组输入的维度可以不相等,但必须保证从左到右的维度值相等; #2.如果对应维度值不相等,必须保证其中一个为1; #3.各输入数组都向其shape(行列数)最长的数组看齐,shape中不足的部分都通过在前面加1. # ============================================================================= #各输入数组的维度一致,对应维度值相等 arr6 = np.arange(12).reshape(3,4) #print(arr6) arr7 = np.arange(101,113).reshape(3,4) #print(arr7) #print("3*4的二维数组的矩阵运算(对应值相加): ",arr6+arr7) #对应位置相运算 #各输入数组维度不一致,对应维度值不相等 arr8 = np.arange(60).reshape(5,4,3) #控制生成5个4行3列的数组 #print(arr8) arr9 = np.arange(12).reshape(4,3) print(arr9) #print("维度不一致但是末尾的维度值一致(数组对应值相加): ",arr8+arr9) arr10 = np.arange(60).reshape(5,4,3) #print(arr10) arr11 = np.arange(4).reshape(4,1) #print("4行1列的数组: ",arr11) #ndim()方法查看数组的维度是多少,也就是几行几列 #print('维数不一致,纬度值也不一致,但是纬度值至少有一个为1: ',arr10+arr11) #在上例是对应列相加,也就是第一列上出现对应位置相加 #加1补齐 arr12 = np.array([5,15,25]) print(arr12) print('arr12的维度自动补齐为(1,3): ',arr12+arr9) #arr12的一行三列数组会与arr9的每一行的对应列相加