np.subtract.outer()
关于np.subtract.outer()的使用,以下做简单介绍
import numpy as npa = np.array([5,6,7])
b = np.array([9,12,10])np.subtract.outer(b,a)
Out[11]:
array([[4, 3, 2],[7, 6, 5],[5, 4, 3]])
上述代码或许之前没接触np.subtract.outer()的人会晕住,这是什么情况?似乎没有规律可言,其实是有的
请看,
9 - 5 = 4
9 - 6 = 3
9 - 7 = 2
12 - 5 = 7
12 - 6 = 6
12 - 7 = 5
10 - 5 = 5
10 - 6= 4
10 - 7= 3
你看懂了吗?
用代码来写就是:
其实,上面三行等价于:
b[:,None]-a
array([[4, 3, 2],[7, 6, 5],[5, 4, 3]])
关于b[:,None]-a
b[:,None]
Out[13]:
array([[ 9],[12],[10]])'''
利用numpy数组的广播特性实现
b[:,None]中的每个值减去a中的每个值
'''
也就是:
np.subtract.outer(b,a)是b[:,None]-a的函数对应
其含义是:有两个向量
a
、b
,要实现a
中的每个元素与b
中的每个元素进行比较
learn from:在python中用两个向量构建一个比较矩阵
代码1:
A = np.array([3,2,1])
B = np.array([3,4,5])
#方法1
print(b[:,None]-a)#方法2
print(np.subtract.outer(B,A))[[0 1 2][1 2 3][2 3 4]]*****************************************************
calculation idea:3 2 1-
3 0 1 2
4 1 2 3
5 2 3 4
代码2:
A = np.arange(3).reshape(3,1)
B = np.arange(3).reshape(1,3)#方法1
print(A+B)#方法2,使用迭代器
it = np.nditer([A,B,None])
for x,y,z in it: z[...] = x + y
print(it.operands[2])[[0 1 2][1 2 3][2 3 4]]*****************************************************
calculation idea:0 1 2+
0 0 1 2
1 1 2 3
2 2 3 4
关于代码1和代码2:
- 代码1
- B中的每个元素减去A中每个元素的值
- 代码2
- A中的每个元素的值加上B中每个元素的值
np.subtract.outer()相关推荐
- pandas 转化np数据_利用Python进行数据分析(语法篇)
一.数据 结构化数据: 1.多维数组--矩阵 2.表格型数据(关系型数据库中的数据) 3.通过关键列相连接的表 4.间隔平均或者不平均的时间序列 二.关于iPython 三.Numpy学习 numpy ...
- python创建一个类似于国家象棋棋盘的0-1矩阵_NumPy练习题(全中文并附详细讲解)...
100道 numpy 练习 1. Import the numpy package under the name np (★☆☆)') 导入numpy模块,设置别称为np import numpy a ...
- numpy练习100道题
# -*- coding: utf-8 -*- """ Created on Fri Nov 8 10:17:18 2019@author: lenovo "& ...
- 语音处理入门——语音的声学处理
语音的声学处理通常称为特征提取或者信号分析,特征是表示语音信号的一个时间片的矢量.常见的特征类型有LPC(线性预测编码)特征和PLP(感知线性预测编码),该特征称为声谱特征,使用形成波形的不同频度的分 ...
- NumPy Cookbook 带注释源码 六、NumPy 特殊数组与通用函数
# 来源:NumPy Cookbook 2e ch6 创建通用函数 from __future__ import print_function import numpy as np# 我们需要定义对单 ...
- dataframe修改数据_利用Python进行数据分析(语法篇)
一.数据 结构化数据: 1.多维数组--矩阵 2.表格型数据(关系型数据库中的数据) 3.通过关键列相连接的表 4.间隔平均或者不平均的时间序列 二.关于iPython 三.Numpy学习 numpy ...
- NumPy进阶教程——超详细
Numpy基础教程: https://blog.csdn.net/qq_43328040/article/details/106601065 ----------------------------- ...
- [转]numpy 100道练习题
100 numpy exercise 翻译:YingJoy 网址: https://www.yingjoy.cn/ 来源:https://github.com/rougier/numpy-100 Nu ...
- 给出如下公式的python表达式7+9i+2xcos66_这100道练习,带你玩转Numpy
转自:Datawhale Numpy是Python做数据分析所必须要掌握的基础库之一.以下为入门Numpy的100题小练习,原为github上的开源项目,由和鲸社区的小科翻译并整理(保留了部分原文作为 ...
最新文章
- python 在无网络环境下安装包
- 报错解决:undefined reference to `snappy::MaxCompressedLength(unsigned long)'
- nodejs使用redis数据库缓存数据
- 增加XP的IIS连接数,解决403.9连接用户过多的问题
- 理解吞吐量和停顿时间
- 巧用PowerShell维护Win2008服务器作业
- 数据结构——模式匹配kmp算法
- 截屏没有了_华为手机居然有6种截屏花招,很多人不知道,你会用哪几种?
- 等级考试(二):二级C++---宏观把控
- VB.NET中DataGridView控件
- android 使用画布实现电子签名板功能并保存到本地
- 手把手一步步用DataGridView 控件编写属于自己的日历
- 电力拖动自动控制系统_一、自动化专业电气工程及其自动化
- 仅需一行代码,小白也可以制作自己的专属二维码!
- android反编译脱壳,Android脱壳圣战之---如何脱掉爱加密家的保护壳
- 【精】HDFS Balancer原理、参数详解
- 完美解决:*.vmx是由VMware产品创建,但该产品与此版VMware workstation不兼容因此无法使用…
- 到底cms企业建站系统是什么?为什么要做cms系统?
- 如何刷鸿蒙OS,普通安卓手机如何刷鸿蒙系统?
- 网站域名备案查询方法,批量查询网站域名备案的教程