一、数组和数的计算

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

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. P1003 电影票价

    题目描述 已知一位小朋友的电影票价是10元,请问 \(n\) 位小朋友的总票价是多少? 输入格式 输入一个整数 \(n(1 \le n \le 1000)\) , 用于表示小朋友的数量. 输出格式 输 ...

  2. Eclipse修改控制台字体

    步骤:Window-->Preference-->General-->Appearance-->Colors and Fonts-->Basic-->Text Fo ...

  3. Java动态编译优化——提升编译速度(N倍)

    一.前言 最近一直在研究Java8 的动态编译, 并且也被ZipFileIndex$Entry 内存泄漏所困扰,在无意中,看到一个第三方插件的动态编译.并且编译速度是原来的2-3倍.原本打算直接用这个 ...

  4. H3CSTP、RSTP的问题

  5. url查找参数

    function GetUrlParam(paraName) { var url = document.location.toString(); var arrObj = url.split(&quo ...

  6. vue-cli3 使用 svg-sprite-loader 的坑

    chainWebpack: config => { config.module.rules.delete("svg"); //重点:删除默认配置中处理svg, //const ...

  7. mapstatetoprops更新state但props不更新渲染的问题

    通过react-redux和redux实现react组件之间的通信,reducer.action.store都编写正确,mapDispatchToProps也能正确传值.唯独mapStateToPro ...

  8. TCP/IP||ARP/RARP

    1.ARP ARP(地址解析协议)主要为IP地址到对应的硬件提供动态映射,过程是自动完成 在网络接口有一个硬件地址(48 bit),在硬件层次上的数据帧交换必须有正确的接口地址,但是32 bit 的I ...

  9. Spring in action读书笔记(一) 自动化装配bean

    需要引入的ja包 <dependency> <groupId>org.springframework</groupId> <artifactId>spr ...

  10. 为你写诗:3 步搭建 Serverless AI 应用

    作者 | 杜万(倚贤) 阿里巴巴技术专家 本文整理自 1 月 2 日社群分享,每月 2 场高质量分享,点击加入社群. 关注"阿里巴巴云原生"公众号,回复关键词 0102 即可下载本 ...