一、数组和数的计算

数组和数计算,数组中的每个元素和数进行计算

1、加

import numpy as np

arr1 = np.arange(12).reshape(3, 4)
print(arr1) # 数组的每个元素和数进行加法运算
arr2 = arr1 + 2
print(arr2)

2、减

import numpy as np

arr1 = np.arange(12).reshape(3, 4)
# 数组的每个元素和数进行减法运算
arr2 = arr1 - 2
print(arr2)

3、乘

import numpy as np

arr1 = np.arange(12).reshape(3, 4)
# 数组的每个元素和数进行乘法运算
arr2 = arr1 * 2
print(arr2)

4、除

import numpy as np

arr1 = np.arange(12).reshape(3, 4)
# 数组的每个元素和数进行除法运算
arr2 = arr1 // 2
print(arr2)

注意:

nan:  a/b, a和b都是0

inf: a/b, b是0,a非0

二、数组和数组的计算

1、数组的形状相同

a、加

import numpy as np

arr1 = np.arange(12).reshape(3, 4)
arr2 = np.arange(24, 36).reshape(3, 4)
# 数组中对应位置的元素分别相加
arr3 = arr1 + arr2
print(arr3)

b、减

import numpy as np

arr1 = np.arange(12).reshape(3, 4)
arr2 = np.arange(24, 36).reshape(3, 4)
# 数组中对应位置的元素分别相减
arr3 = arr1 - arr2
print(arr3)

c、乘

import numpy as np

arr1 = np.arange(12).reshape(3, 4)
arr2 = np.arange(24, 36).reshape(3, 4)
# 数组中对应位置的元素分别相乘
arr3 = arr1 * arr2
print(arr3)

d、除

import numpy as np

arr1 = np.arange(12).reshape(3, 4)
arr2 = np.arange(24, 36).reshape(3, 4)
# 数组中对应位置的元素分别相除
arr3 = arr1 / arr2
print(arr3)
print(arr3.dtype)
# 数组中的每个元素保留两位小数
arr4 = np.round(arr3, 2)
print(arr4)

2、数组的形状不相同

a、列数相同

import numpy as np

arr1 = np.arange(12, 24).reshape(3, 4)
arr2 = np.arange(3, 7).reshape(4,)
# 加
arr3 = arr1 + arr2
print(arr3)
# 减
arr4 = arr2 - arr1
print(arr4)
# 乘
arr5 = arr1 * arr2
print(arr5)
# 除
arr6 = arr1 / arr2
print(arr6)

b、行数相同

import numpy as np

arr1 = np.arange(12, 24).reshape(3, 4)
arr2 = np.arange(3, 6).reshape(3, 1)
# 加
arr3 = arr1 + arr2
print(arr3)
# 减
arr4 = arr2 - arr1
print(arr4)
# 乘
arr5 = arr1 * arr2
print(arr5)
# 除
arr6 = arr1 / arr2
print(arr6)

注意:数组的计算遵循numpy的广播原则

三、广播原则

1、官方概念

如果两个数组的后缘维度(从末尾开始计算的维度)的轴长度相符或其中一方的长度为1,则认为它们是广播兼职的。
广播会在缺失和(或)长度为1的维度上进行。

2、自己理解

a.数组求shape
b.从shape的最后一位开始比较
c.1可以看成任意数, 如(2, 2, 3)和(2, 1) 可以进行运算
d.缺失的部分忽略,如(2, 2, 3)和(3,) 可以进行运算
e.运算在缺失或长度为1的维度上进行

四、轴

1.轴:
在numpy中可以理解为方向,使用0,1,2...数字表示
数组shape的index, 0轴 1轴
2.轴长度:
包含数据的条数
数组shape的值

numpy 数组的计算的更多相关文章

  1. numpy数组常用计算

    在说numpy库数组的计算之前先来看一下numpy数组形状的知识: 创建一个数组之后,可以用shape来查看其形状,返回一个元组 例如:a = np.array([[1, 2, 3], [4, 5, ...

  2. numpy数组的计算

    1.数组的形状 查看数组的形状: import numpy as np a = np.array([[1, 2, 3, 4, 5], [5, 6, 7, 8, 9]]) print(a.shape) ...

  3. Python数据科学手册-Numpy数组的计算,通用函数

    Python的默认实现(CPython)处理某些操作非常慢,因为动态性和解释性, CPython 在每次循环必须左数据类型的检查和函数的调度..在编译是进行这样的操作.就会加快执行速度. 通用函数介绍 ...

  4. Python数据科学手册-Numpy数组的计算:比较、掩码和布尔逻辑,花哨的索引

    Numpy的通用函数可以用来替代循环, 快速实现数组的逐元素的 运算 同样,使用其他通用函数实现数组的逐元素的 比较 < > 这些运算结果 是一个布尔数据类型的数组. 有6种标准的比较操作 ...

  5. Python数据科学手册-Numpy数组的计算:广播

    广播可以简单理解为用于不同大小数组的二元通用函数(加减乘等)的一组规则 二元运算符是对相应元素逐个计算 广播允许这些二元运算符可以用于不同大小的数组 更高维度的数组 更复杂的情况,对俩个数组的同时广播 ...

  6. NumPy(数组计算)

    一.介绍 NumPy是高性能科学计算和数据分析的基础包.它是pandas等其他各种工具的基础. 1.主要功能 1)ndarray,一个多维数组结构,高效且节省空间2)无需循环对整组数据进行快速运算的数 ...

  7. numpy——基础数组与计算

    In [1]: import numpy as np In [11]: # 创建数组 a = np.array([1,2,3,4,5]) In [12]: a Out[12]: array([1, 2 ...

  8. Numpy.frompyfunc()将计算单个值的函数转化为计算数组中每个元素的函数

    Numpy.frompyfunc()将计算单个值的函数转化为计算数组中每个元素的函数 不再通过遍历,对数组中的元素进行运算,利用frompyfunc()将计算单个值的函数转化为计算数组中每个元素的函数 ...

  9. 科学计算三维可视化---Mlab基础(基于Numpy数组的绘图函数)

    Mlab了解 Mlab是Mayavi提供的面向脚本的api,他可以实现快速的三维可视化,Mayavi可以通过Mlab的绘图函数对Numpy数组建立可视化. 过程为: .建立数据源 .使用Filter( ...

随机推荐

  1. P1039 大规模间谍入侵

    题目描述 爱丽丝魔法王国成立10周年,于是决定矩形国庆大阅兵. 在国庆大阅兵期间,为了防止暗黑王国的间谍乔装成平民混入,需要对每一个进城的人做检测. 因为暗黑王国的人长得和爱丽丝魔法王国的人长得很像, ...

  2. 9月29更新美版T-mobile版本iPhone7代和7P有锁机卡贴解锁方法

    ​ T版是块难解的砖头,之前一直没有找到稳定解锁办法,经过多次不写努力和实验,终于解决 不管是用超雪卡贴还是GPP卡贴,第一次先用连接WIFI激活手机! 注意:一定不要用ICCID通用激活,或者是TM ...

  3. linux /proc 接口

    无论何时一个硬件中断到达处理器, 一个内部的计数器递增, 提供了一个方法来检查设备 是否如希望地工作. 报告的中断显示在 /proc/interrupts. 下面的快照取自一个双处理 器 Pentiu ...

  4. 【p082】排座椅

    Time Limit: 1 second Memory Limit: 50 MB [问题描述] 上课的时候总有一些同学和前后左右的人交头接耳,这是令小学班主任十分头疼的一件事情.不过,班主任小雪发现了 ...

  5. JS只执行一次

    1.闭包实现. <script> window.onload = function () { function once(fn) { var result; return function ...

  6. 前端js页面跳转

    window.location.Reload() //刷新当前页面self.location=document.referrer;通过Request Headers中Referer获得上个页面的地址并 ...

  7. Date日期时间相关

    最近在封装一个关于时间函数的功能时,竟发现这些最基本的函数都有些生疏,于是进来来总结复习下,巩固自己记忆的同时,希望能帮助到需要的人 首先了解下日期对象相关的方法 var date = new Dat ...

  8. SpringBoot2启动流程分析

    首先上一张图,图片来自 SpringBoot启动流程解析 本文基于spring-boot-2.0.4.RELEASE.jar包分析. 程序启动入口 public static void main(St ...

  9. js获取url参数值的方式

    定义方法: function getParam(paramName) { paramValue = ""; isFound = false; paramName = paramNa ...

  10. java面试-反射

    1.什么是反射?有什么优缺点?   反射就是动态加载对象,并对对象进行剖析.在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法.对于任意一个对象,都能够调用它的任意一个方法.这种动态获取信 ...