本文主要是介绍numpy.concatenate理解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、numpy的轴
首先要知道什么是轴,简单来说,数组有几维就有几个轴
例如
x=[1,2,3]有一个轴
x=[[1,2,3],[3,5,6]]有两个轴,当轴=0时,元素为[1,2,3]和[3,5,6],当轴=1时,元素为1,2,3,3,5,6,即,轴其实就是[],最外面的[]就是第一个轴的维度,第二个[]就是轴=1,以此类推
二、numpy.concatenate
看例子
>>> a=np.array([1,2,3])
>>> b=np.array([11,22,33])
>>> c=np.array([44,55,66])
>>> np.concatenate((a,b,c),axis=0) # 默认情况下,axis=0可以不写
array([ 1, 2, 3, 11, 22, 33, 44, 55, 66]) #对于一维数组拼接,axis的值不影响最后的结果>>> a=np.array([[1,2,3],[4,5,6]])
>>> b=np.array([[11,21,31],[7,8,9]])
>>> np.concatenate((a,b),axis=0)
array([[ 1, 2, 3],[ 4, 5, 6],[11, 21, 31],[ 7, 8, 9]])>>> np.concatenate((a,b),axis=1) #axis=1表示对应行的数组进行拼接
array([[ 1, 2, 3, 11, 21, 31],[ 4, 5, 6, 7, 8, 9]])
发现规律没?每一个numpy.concatenate其实就是在axis上将对应数组进行append操作!
例如numpy.concatenate([[[1],[2],[3]], [[4],[5],[6]]], axis=1),则元素为轴1时的,即[1],[2],…[6],[1].append([4]就是[1,4],以此类推,结果为[[1,4],[2,5],[3,6]],为什么少了一层[]?因为函数调用需要多加yiceng[],最终结果再去掉即可
参考:https://blog.csdn.net/zyl1042635242/article/details/43162031
这篇关于numpy.concatenate理解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!