numpy 数组的计算
一、数组和数的计算
数组和数计算,数组中的每个元素和数进行计算
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 数组的计算的更多相关文章
- numpy数组常用计算
在说numpy库数组的计算之前先来看一下numpy数组形状的知识: 创建一个数组之后,可以用shape来查看其形状,返回一个元组 例如:a = np.array([[1, 2, 3], [4, 5, ...
- numpy数组的计算
1.数组的形状 查看数组的形状: import numpy as np a = np.array([[1, 2, 3, 4, 5], [5, 6, 7, 8, 9]]) print(a.shape) ...
- Python数据科学手册-Numpy数组的计算,通用函数
Python的默认实现(CPython)处理某些操作非常慢,因为动态性和解释性, CPython 在每次循环必须左数据类型的检查和函数的调度..在编译是进行这样的操作.就会加快执行速度. 通用函数介绍 ...
- Python数据科学手册-Numpy数组的计算:比较、掩码和布尔逻辑,花哨的索引
Numpy的通用函数可以用来替代循环, 快速实现数组的逐元素的 运算 同样,使用其他通用函数实现数组的逐元素的 比较 < > 这些运算结果 是一个布尔数据类型的数组. 有6种标准的比较操作 ...
- Python数据科学手册-Numpy数组的计算:广播
广播可以简单理解为用于不同大小数组的二元通用函数(加减乘等)的一组规则 二元运算符是对相应元素逐个计算 广播允许这些二元运算符可以用于不同大小的数组 更高维度的数组 更复杂的情况,对俩个数组的同时广播 ...
- NumPy(数组计算)
一.介绍 NumPy是高性能科学计算和数据分析的基础包.它是pandas等其他各种工具的基础. 1.主要功能 1)ndarray,一个多维数组结构,高效且节省空间2)无需循环对整组数据进行快速运算的数 ...
- 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 ...
- Numpy.frompyfunc()将计算单个值的函数转化为计算数组中每个元素的函数
Numpy.frompyfunc()将计算单个值的函数转化为计算数组中每个元素的函数 不再通过遍历,对数组中的元素进行运算,利用frompyfunc()将计算单个值的函数转化为计算数组中每个元素的函数 ...
- 科学计算三维可视化---Mlab基础(基于Numpy数组的绘图函数)
Mlab了解 Mlab是Mayavi提供的面向脚本的api,他可以实现快速的三维可视化,Mayavi可以通过Mlab的绘图函数对Numpy数组建立可视化. 过程为: .建立数据源 .使用Filter( ...
随机推荐
- Springboot上传文件临时目录无效
一个奇葩问题,虽然解决了,但还是没弄清楚,小记一笔. 年后回来,测试人员对年前的3次迭代的功能进行了回归测试,然后发现所有excel导入的功能都失效了.作为后台开发人员,当然是第一时间打开运行日志排查 ...
- 【codeforces 764A】Taymyr is calling you
time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard ou ...
- Github上的英文解释
1.AFAIK: As far as I know. 据我所知 2.SPOF: Single point of failure. 单节点崩溃 3.ASAP: As soon as possible. ...
- Spring Security学习笔记-自定义Spring Security过滤链
Spring Security使用一系列过滤器处理用户请求,下面是spring-security.xml配置文件. <?xml version="1.0" encoding= ...
- SpringBoot优先级
1.配置文件 application.properties和application.yml文件可以放在以下四个位置: 外置,在相对于应用程序运行目录的/congfig子目录里. 外置,在应用程序运行的 ...
- Team Foundation Server 2015使用教程【6】:新增权限为读取器的团队
- Wannafly挑战赛25 因子 [数论]
一.题意 令 X = n!, 给定一大于1的正整数p 求一个k使得 p ^k | X 并且 p ^(k + 1) 不是X的因子 输入为两个数n, p (1e18>= n>= 10000 & ...
- Mybatis的mapper.xml文件详解
1.#{}和${}的区别: #{}表示一个占位符号,#{}接收输入参数,类型可以是简单类型,pojo.hashmap. 如果接收简单类型,#{}中可以写成value或其它名称. ...
- Oracle和可视化视图工具教程
Oracle数据库安装教程 作者:黑小子-余 Qq:2931445528 微信:Y2931445528 可以找我,我有Oracle数据库安装包及工具 命令: Sqlplus /nolog Conn ...
- 【合集】有标号的DAG图计数(合集)
[合集]有标号的DAG图计数(合集) orz 1tst [题解]有标号的DAG计数1 [题解]有标号的DAG计数2 [题解]有标号的DAG计数3 [题解]有标号的DAG计数4