python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > numpy.concatenate()函数

关于numpy.concatenate()函数的使用及说明

作者:一位不愿暴露自己的郑某人

这篇文章主要介绍了关于numpy.concatenate()函数的使用及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

numpy.concatenate()函数

numpy.concatenate((a1,a2,…), axis=0)函数,能够一次完成多个数组的拼接。

其中a1,a2,…是数组类型的参数

示例:

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

不写axis参数的话,默认为按列拼接;

np.concatenate((a,b))
Out[22]: 
array([[ 1,  2,  3],
       [ 4,  5,  6],
       [11, 21, 31],
       [ 7,  8,  9]])

若axis = -1的话,即为按行拼接:

np.concatenate((a,b),axis=-1)
Out[21]: 
array([[ 1,  2,  3, 11, 21, 31],
       [ 4,  5,  6,  7,  8,  9]])

numpy.append()和numpy.concatenate()两个函数的运行时间进行比较的话,numpy.concatenate()效率更高,适合大规模的数组拼接。

numpy.concatenate()的out使用举例

numpy.concatenate()的官方语法是

numpy.concatenate((a1,a2,...),axis = 0,out = None,dtype = None,cast =“ same_kind” 

对out的要求是

out ndarray,可选

如果提供,则为放置结果的目的地。形状必须正确,并且与未指定out参数的串联连接的形状匹配。

举例

array01=np.arange(24).reshape(4,6)
array01
结果
array([[ 0,  1,  2,  3,  4,  5],
       [ 6,  7,  8,  9, 10, 11],
       [12, 13, 14, 15, 16, 17],
       [18, 19, 20, 21, 22, 23]])
array04 = np.ones((4,15),dtype='int32')
array04
结果
array([[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
       [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
       [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
       [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]])
np.concatenate((array01,array03),axis=1,out=array04)
结果
array([[ 0,  1,  2,  3,  4,  5,  0,  1,  2,  3,  4,  5,  6,  7,  8],
       [ 6,  7,  8,  9, 10, 11,  9, 10, 11, 12, 13, 14, 15, 16, 17],
       [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26],
       [18, 19, 20, 21, 22, 23, 27, 28, 29, 30, 31, 32, 33, 34, 35]])

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文