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叠加内容请搜索Devmax以前的文章或继续浏览下面的相关文章希望大家以后多多支持Devmax!

关于numpy两个array叠加操作详解的更多相关文章

  1. ios – 数组的数组.仅存储副本

    我需要存储一个Int数组的数组,用于有序重复.例:>给定数组:mainArray=[7,7,3,2,1,5,5]现在我需要创建一个int数组的数组.例:这是我有的:解决方法您可以使用reduce方法.减少工作如何?reduce将封闭中的逻辑应用于空的2D数组的整数和数字的第一个elm.然后再次应用上一次迭代的结果和第二个整数数组…if是否检查在结果中添加的最后一个数组中的数字是否等于当前检查的整数.如果这样,那个整数被添加到该数组.否则,只会添加一个仅包含新整数的数组.测试

  2. Swift:Generators 与 Sequences 浅析

    前言Generators与Sequences构成了Swift式循环。Generators提到数组我们就会想到遍历,一般的遍历可能都是从头到尾进行的。这时候Generators就可以派上用场了。举个倒序索引的generator:好处是啥好处是啥,我的总结是把一个很抽象遍历模式使用Generators的方式剥离出来,当你对当前的迭代循环方式不爽的时候只需要修改一下当前的这个generator。SequencesGenerators在循环过程中每个元素提供的服务是一次性的。

  3. 再探Swift基础

    基础tuplesstringsnumericfor循环while循环if条件switchoptionalarraydictionaryset

  4. swift排序算法和数据结构

    vararrayNumber:[Int]=[2,4,216)">6,216)">7,216)">3,216)">8,216)">1]//冒泡排序funcmaopao->[Int]{forvari=0;i

  5. Arrray 中的map和filter 函数的使用

    swift中的Array提供了两个很方便的函数map和filter使用map可以建立一个从A数组到B数组的一个映射,例如:我们给数组的每个元素后添加一个testvararray=["1","2","3"];printlnfuncfx->String{returnstr+"test"}我们还可以使用filter函数按条件过滤一些不符合条件的数组例如:vararray=[1,4,10];array=array.filterprintln//结果[4,10]另外一种写法:array.filter

  6. Swift 2.0学习笔记Day 17——Swift中数组集合

    数组中的集合元素是有序的,可以重复出现。varstudentList1:ArrayvarstudentList2:[String]声明的Array还不能用,还需要进行初始化,Array类型往往在声明的同时进行初始化。示例代码如下:varstudentList1:Array=["张三","李四","王五","董六"]varstudentList2:[String]=["张三","董六"]letstudentList3:[String]=["张三","董六"]varstudentList4=[String](

  7. Swift高级开发语言基础

  8. Swift关于Array的探讨

    当我们想向Array添加不同数据类型的元素时,可以这样做:这样我们便可以向Array添加任何数据类型的元素了,但是如果我们希望Array中只能添加特定几种类型的元素怎么办呢?这里提供一种思路:

  9. 《从零开始学Swift》学习笔记Day 17――Swift中数组集合

    数组中的集合元素是有序的,可以重复出现。,Array类型往往在声明的同时进行初始化。整个遍历过程与循环分不开,可以使用for-in循环。下面是遍历数组的示例代码:运行结果如下:张三李四王五Item1:张三Item2:李四Item3:王五欢迎关注关东升新浪微博@tony_关东升。

  10. Swift学习 数组

    1、计算数组的长度count:计算数组的长度2、判断数组是否为空isEmpty:判断数组是否为空3、在数组尾部添加元素append:在数组尾部添加元素4、通过下标修改数组元素的值5、数组的插入insert:通过insert和下标向数组中插入元素6、数组的删除7、数组的遍历8、数组的拼接

随机推荐

  1. 10 个Python中Pip的使用技巧分享

    众所周知,pip 可以安装、更新、卸载 Python 的第三方库,非常方便。本文小编为大家总结了Python中Pip的使用技巧,需要的可以参考一下

  2. python数学建模之三大模型与十大常用算法详情

    这篇文章主要介绍了python数学建模之三大模型与十大常用算法详情,文章围绕主题展开详细的内容介绍,具有一定的参考价值,感想取得小伙伴可以参考一下

  3. Python爬取奶茶店数据分析哪家最好喝以及性价比

    这篇文章主要介绍了用Python告诉你奶茶哪家最好喝性价比最高,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧

  4. 使用pyinstaller打包.exe文件的详细教程

    PyInstaller是一个跨平台的Python应用打包工具,能够把 Python 脚本及其所在的 Python 解释器打包成可执行文件,下面这篇文章主要给大家介绍了关于使用pyinstaller打包.exe文件的相关资料,需要的朋友可以参考下

  5. 基于Python实现射击小游戏的制作

    这篇文章主要介绍了如何利用Python制作一个自己专属的第一人称射击小游戏,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起动手试一试

  6. Python list append方法之给列表追加元素

    这篇文章主要介绍了Python list append方法如何给列表追加元素,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

  7. Pytest+Request+Allure+Jenkins实现接口自动化

    这篇文章介绍了Pytest+Request+Allure+Jenkins实现接口自动化的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  8. 利用python实现简单的情感分析实例教程

    商品评论挖掘、电影推荐、股市预测……情感分析大有用武之地,下面这篇文章主要给大家介绍了关于利用python实现简单的情感分析的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下

  9. 利用Python上传日志并监控告警的方法详解

    这篇文章将详细为大家介绍如何通过阿里云日志服务搭建一套通过Python上传日志、配置日志告警的监控服务,感兴趣的小伙伴可以了解一下

  10. Pycharm中运行程序在Python console中执行,不是直接Run问题

    这篇文章主要介绍了Pycharm中运行程序在Python console中执行,不是直接Run问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

返回
顶部