当前位置:网站首页>numpy关于两个array叠加操作
numpy关于两个array叠加操作
2022-08-04 21:37:00 【惊瑟】
numpy中有很多关于两个array的操作,叠加方式以及叠加后的维度经常令人迷惑,这篇文章总价一下。
一、 叠加操作
- add
逐元素操作,若是array + 常量
会广播到每个元素,若是array + array
则要求两个array
的shape
一致。
end = '\n'+'*'*50+'\n'
a = np.array([[1,2],[3,4]])
b = np.array([[5,6], [7,8]])
print(a+1, end=end)
print(a+b)
输出:
[[2 3]
[4 5]]
**************************************************
[[ 6 8]
[10 12]]
- concatenate
在指定维度将两个array进行拼接,不会改变array的维度,要求两个array的维度相同,且在指定的拼接维度的array size也必须相等,值得注意的是,两个array的shape不一定一致,比较拗口,看下例子:
end = '\n'+'*'*50+'\n'
a = np.array([[1,2],[3,4]])
b = np.array([[5,6], [7,8]])
c = np.array([[5,6]])
d = np.array([5,6])
f = np.array([[5]])
a & c 的shape并不相同:
维度不一致:长度不一致:
- stack & hstack
stack 在垂直方向上拼接两个array(可以指定axis),要求两个array的shape严格一致,结果会增加维度;
hstack 在水平方向(第0维,不可制定axis)拼接两个array,要求两者的维度相同,且在第0维的size也相同,拼接结果不改变原有维度 。
stack:结果会在原有维度的基础上加1
hstack,a和c在0轴的size不同:hstack,转置后正常拼接:
二、 size & ndim & shape
这三个概念很容易搞混,其中:size
:指的是“元素个数”;ndim
:维度,指的是“有多少层嵌套”,即中括号个数,同时和shape的len相等,axis=0指的是最外层中括号,往里依次递增;shape
:size和ndim综合起来就是shape,两个array的shape相同则意味着两者的ndim相同且在每一个axis上的size也相同。
看下例子:
值得注意的是,ndim和size以及shape没有必然联系,一个ndim不为0的array可能一个元素也没有:
size相同,shape和ndim也不一定相同:
边栏推荐
- Develop your own text recognition application with Tesseract
- 【线性代数02】AX=b的2种解释和矩阵乘法的5种视角
- "Jianzhi offer" brush title classification
- 数字重塑客观世界,全空间GIS发展正当其时
- [QT] Implementation of callback function
- PRIMAL: Pathfinding via Reinforcement and Imitation Multi-Agent Learning Code Analysis
- Dotnet using WMI software acquisition system installation
- 【线性代数03】消元法展示以及AX=b的4种解情况
- Win11如何设置软件快捷方式?
- Driving point cloud format changes bring efficiency improvement
猜你喜欢
Re24:读论文 IOT-Match Explainable Legal Case Matching via Inverse Optimal Transport-based Rationale Ext
PRIMAL: Pathfinding via Reinforcement and Imitation Multi-Agent Learning 代码解析
C language knowledge (1) - overview of C language, data types
unity2D横版游戏教程8-音效
In action: 10 ways to implement delayed tasks, with code!
Red team kill-free development practice of simulated confrontation
七夕特制:《牛郎会织女》
EasyGBS接入最新版海康摄像头后无法传递告警信息该如何解决?
LayaBox---TypeScript---首次接触遇到的问题
【CC3200AI 实验教程 1】疯壳·AI语音人脸识别(会议记录仪/人脸打卡机)-开发环境搭建
随机推荐
【分布式】分布式ID生成策略
数字重塑客观世界,全空间GIS发展正当其时
docker 搭建mysql 主从复制
Android 面试——如何写一个又好又快的日志库?
数电快速入门(三)(卡诺图化简法的介绍)
Domestic PMP certificate of gold content how
大势所趋之下的nft拍卖,未来艺术品的新赋能
DSPE-PEG-Aldehyde, DSPE-PEG-CHO, Phospholipid-Polyethylene Glycol-Aldehyde A hydrophobic 18-carbon phospholipid
如何一键重装Win11系统 一键重装系统方法
PowerCLi batch configuration of NTP
[Linear Algebra 03] Elimination method display and 4 solutions of AX=b
命名路由、组件中name的作用
LayaBox---TypeScript---举例
Zynq Fpga图像处理之AXI接口应用——axi_lite接口使用
JWT actively checks whether the Token has expired
Dotnet using WMI software acquisition system installation
打卡第 1 天:正则表达式学习总结
y87.第五章 分布式链路追踪系统 -- 分布式链路追踪系统起源(一)
Go----Go 语言基础之标识符、关键字、命名规范、变量、常量
可视化工作流引擎开发OA系统,让企业少花冤枉钱