zoukankan      html  css  js  c++  java
  • 06数组广播运算

    # -*- 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的每一行的对应列相加
  • 相关阅读:
    Javascript事件处理程序的3种方式
    JS原生AJAX
    所谓的渐进增强,优雅降级?
    1059 老师的苦恼
    HTML5 参数传递
    HDU 5289 Assignment(二分+RMQ-ST)
    HDU 3333 Turing Tree(离线树状数组)
    mac下 mysql 插入中文乱码解决
    校园商铺-7商品类别模块-5商品类别删除后端开发
    校园商铺-7商品类别模块-3商品类别添加后端开发
  • 原文地址:https://www.cnblogs.com/chenruhai/p/12464244.html
Copyright © 2011-2022 走看看