numpy.concatenate函数用法详解
作者:houyushui 发布时间:2022-04-09 06:18:52
这个concatenate用于将矩阵合并,他将沿着已经存在的轴合并一个矩阵,相关参数有(a1, a2, ...), axis=0, out=None, dtype=None, casting="same_kind",其中第一个参数是用户输入的矩阵, 这些输入的矩阵必须要在将要合并的对应的轴上有相同的形状,
官方文档的机器翻译:矩阵必须具有相同的形状,除非是与轴对应的尺寸(默认为第一个)。
numpy.concatenate((a1, a2, ...), axis=0, out=None, dtype=None, casting="same_kind")
Join a sequence of arrays along an existing axis.
沿着已经存在的轴合并一个矩阵
相关参数
Parameters
a1, a2, …sequence of array_like
The arrays must have the same shape, except in the dimension corresponding to axis (the first, by default).
这些输入的矩阵必须要在将要合并的对应的轴上有相同的形状,比如,给出两个变量,并将他们沿着axis=1的轴,进行合并:
a = np.arange(3*3).reshape((3,3))
b = np.arange(3*4).reshape((3,4))
a,b
(array([[0, 1, 2],
[3, 4, 5],
[6, 7, 8]]),
array([[ 0, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11]]))
np.concatenate([a,b],axis=1)
array([[ 0, 1, 2, 0, 1, 2, 3],
[ 3, 4, 5, 4, 5, 6, 7],
[ 6, 7, 8, 8, 9, 10, 11]])
上面是沿着列进行合并,尽管他们的列数不同,但是他们的行数相同,因此也可以合并。
axis int, optional
The axis along which the arrays will be joined. If axis is None, arrays are flattened before use. Default is 0.
如果将axis设置为None,那么将对给出的矩阵先进行展平,即先将其转换为一维数组,再合并,默认的axis参数是0:
np.concatenate([a,b],axis=None)
array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 1, 2, 3, 4, 5, 6, 7,
8, 9, 10, 11])
casting {‘no’, ‘equiv’, ‘safe’, ‘same_kind’, ‘unsafe’}, optional
Controls what kind of data casting may occur. Defaults to ‘same_kind’.
下面给出一些可能触发的错误:
np.concatenate(a,b,axis=None)
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-36-0e550a3d06f6> in <module>
----> 1 np.concatenate(a,b,axis=None)
<__array_function__ internals> in concatenate(*args, **kwargs)
TypeError: concatenate() got multiple values for argument 'axis'
这个类型错误发生的原因是,将要合并的两个数组未添加括号的就作为参数输入了
正确的形式如下:
np.concatenate([a,b],axis=None)
array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 1, 2, 3, 4, 5, 6, 7,
8, 9, 10, 11])
或者:
c = (a,b)
np.concatenate(c,axis=None)
array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 1, 2, 3, 4, 5, 6, 7,
8, 9, 10, 11])
来源:https://blog.csdn.net/houyushui/article/details/116894753
猜你喜欢
- 1 前言在 Java 和 js 中,lambda箭头函数是十分常见的操作,这种表达方式在使用时非常的简便。在python的语法中也有应用场景
- 在实际生活中,经常会有文件重复的困扰,即同一个文件可能既在A目录中,又在B目录中,更可恶的是,即便是同一个文件,文件名可能还不一样。在文件较
- SQL语句优化的原则:◆1、使用索引来更快地遍历表缺省情况下建立的索引是非群集索引,但有时它并不是最佳的。在非群集索引下,数据在物理上随机存
- 本文主要介绍了Jupyter notebook快速入门教程,分享给大家,具体如下:本篇将给大家介绍一款超级好用的工具:Jupyter not
- 1、字符串的定义所谓字符串,就是由0个或者多个字符组成的有限序列。在Python程序中,如果我们把单个或多个字符用单引号''
- 如何定义记录集打开的游标类型和锁定类型?我们知道,打开记录集时,可以定义记录集打开的游标类型和锁定类型。在adovbs.inc文件中就定义了
- 下载:pip install apschedulerpip install django-apscheduler将 django-apsch
- 毫无疑问,我们生活在编辑器的最好年代,Vim是仅在Vi之下的神级编辑器,而脱胎于Vim的NeoVim则是这个时代最好的编辑器,没有之一。异步
- numpy数组转置可以通过arr.T、arr.transpose()、arr.swapaxes()实现。数组转置 arr.T轴变换 arr.
- 如何判断一个对象是可迭代对象? 方法是通过collections模块的Iterable类型判断:>>> from coll
- 如下所示:#coding=utf-8import sys, re, osdef getDictList(dict): regx
- —— 八数码难题 ——1.题目描述八数码问题也称为九宫问题。在3×3的棋盘,摆有八个棋子,每个棋子上标有1至8的某一数字,不同棋子上标的数字
- 在记忆里,关于时间方面常的SQL也就下面这两个了,大多数朋友问题中所涉及到的数据库都ACCESS的,在些,也就写出这两SQL了。年代久远,目
- 我们在使用 requests 这类网络请求第三方库时,可以看到它有一个参数叫做 timeout ,就是指在网络请求发出开始计算,如果超过 t
- 1.删除所有的目录,只保留datasharebin2.删除BIN下面除以下三个文件之外的所有文件:libmysql.dll(MYSQL5中的
- 年初的时候收藏过一篇关于mysqlreport的报表解读,和内置的show status,和show variables相比mysqlrep
- Options Indexes FollowSymLinks ExecCGI  
- Python3 线程中常用的两个模块为:_threadthreading(推荐使用)使用Thread类创建import threadingf
- 本文实例讲述了Python单链表原理与实现方法。分享给大家供大家参考,具体如下:Python实现单链表关于链表链表(Linked List)
- 前言本文主要给大家介绍了关于不同版本中Python matplotlib.pyplot.draw()界面绘制异常的相关内容,分享出来供大家参