关于numpy两个array叠加操作详解

 更新时间:2022年08月03日 14:39:29   作者:惊瑟  
numpy是Python用来科学计算的一个非常重要的库,numpy主要用来处理一些矩阵对象,可以说numpy让Python有了Matlab的味道,下面这篇文章主要给大家介绍了关于numpy两个array叠加操作的相关资料,需要的朋友可以参考下

numpy中有很多关于两个array的操作,叠加方式以及叠加后的维度经常令人迷惑,这篇文章总价一下。

一、 叠加操作

1.add

逐元素操作,若是array + 常量会广播到每个元素,若是array + array则要求两个arrayshape一致。

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]]

2.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并不相同:

维度不一致:

长度不一致:

3.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也不一定相同:

总结 

到此这篇关于numpy两个array叠加操作的文章就介绍到这了,更多相关numpy两个array叠加内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python数字图像处理之霍夫线变换实现详解

    Python数字图像处理之霍夫线变换实现详解

    这篇文章主要介绍了Python数字图像处理之霍夫线变换实现详解,具有一定借鉴价值,需要的朋友可以参考下
    2018-01-01
  • 详解利用Pytorch实现ResNet网络之评估训练模型

    详解利用Pytorch实现ResNet网络之评估训练模型

    这篇文章主要为大家介绍了利用Pytorch实现ResNet网络之评估训练模型详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-04-04
  • python 用matplotlib绘制折线图详情

    python 用matplotlib绘制折线图详情

    这篇文章主要讲诉了python 用matplotlib绘制折线图的详细内容,众所周知,matplotlib 是一款功能强大开源的数据可视化模块,凭借着强大的扩展性构建出更高级别的绘图工具接口如seaborn、ggplot,下面我们就根据之前两篇文章基础掌握折线图的绘制,需要的朋友可以参考一下
    2021-12-12
  • Python魔法方法详解

    Python魔法方法详解

    今天小编就为大家分享一篇关于Python魔法方法详解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-02-02
  • 使用python实现一个简单的图片爬虫

    使用python实现一个简单的图片爬虫

    在本文中,我们将学习如何使用Python创建一个简单的图片爬虫,我们将利用requests库来发送HTTP请求,BeautifulSoup库来解析HTML页面,以及os和shutil库来下载和保存图片,通过这个教程,你将学会如何爬取网页上的图片并保存到本地,需要的朋友可以参考下
    2024-02-02
  • python实现水印生成器

    python实现水印生成器

    这篇文章主要为大家详细介绍了python实现水印生成器,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-05-05
  • python基于pygame实现响应游戏中事件的方法(附源码)

    python基于pygame实现响应游戏中事件的方法(附源码)

    这篇文章主要介绍了python基于pygame实现响应游戏中事件的方法,实例分析了Python基于pygame针对键盘及鼠标事件的响应方法,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-11-11
  • python使用scapy模块实现ping扫描的过程详解

    python使用scapy模块实现ping扫描的过程详解

    这篇文章主要介绍了python使用scapy模块实现ping扫描的过程详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-01-01
  • Python selenium抓取微博内容的示例代码

    Python selenium抓取微博内容的示例代码

    本篇文章主要介绍了Python selenium抓取微博内容的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-05-05
  • Django自定义分页效果

    Django自定义分页效果

    这篇文章主要为大家详细介绍了Django自定义分页效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06

最新评论