Python中numpy数组的拼接、合并[通俗易懂]

大家好,我是知秋君,一个会写博客吟诗的知秋码农。今天说一说Python中numpy数组的拼接、合并[通俗易懂],希望能够帮助大家进步!!! Python中numpy数组的合并有很多方法,如 np.append() np.concatenate() np.stack() np.hstack() np.vstack() np.dstack() 其中最泛用的是第一个和第二个。第一个可读性好,比较灵活

大家好,我是知秋君,一个会写博客吟诗的知秋码农。今天说一说Python中numpy数组的拼接、合并[通俗易懂],希望能够帮助大家进步!!!

Python中numpy数组的合并有很多方法,如

np.append()
np.concatenate()
np.stack()
np.hstack()
np.vstack()
np.dstack()
其中最泛用的是第一个和第二个。第一个可读性好,比较灵活,但是占内存大。第二个则没有内存占用大的问题。

假设有两个数组a,b分别为:

>>> a array([0, 1, 2], [3, 4, 5], [6, 7, 8]) >>> b = a*2 >>> b array([ 0, 2, 4], [ 6, 8, 10], [12, 14, 16])
只听到从知秋君办公室传来知秋君的声音:

画帘遮匝,新翻曲妙,暗许闲人带偷掐。有谁来对上联或下联?

1、水平组合

此代码由一叶知秋网-知秋君整理
>>> np.hstack((a,b)) array([ 0, 1, 2, 0, 2, 4], [ 3, 4, 5, 6, 8, 10], [ 6, 7, 8, 12, 14, 16]) >>> np.concatenate((a,b),axis=1) array([ 0, 1, 2, 0, 2, 4], [ 3, 4, 5, 6, 8, 10], [ 6, 7, 8, 12, 14, 16])

2、垂直组合

>>> np.vstack((a,b)) array([ 0, 1, 2], [ 3, 4, 5], [ 6, 7, 8], [ 0, 2, 4], [ 6, 8, 10], [12, 14, 16]) >>> np.concatenate((a,b),axis=0) array([ 0, 1, 2], [ 3, 4, 5], [ 6, 7, 8], [ 0, 2, 4], [ 6, 8, 10], [12, 14, 16])

3、深度组合:沿着纵轴方向组合

此代码由一叶知秋网-知秋君整理
>>> np.dstack((a,b)) array([[ 0, 0], [ 1, 2], [ 2, 4], [ 3, 6], [ 4, 8], [ 5, 10], [ 6, 12], [ 7, 14], [ 8, 16]])

4、列组合column_stack()

一维数组:按列方向组合
二维数组:同hstack一样

5、行组合row_stack()

以为数组:按行方向组合
二维数组:和vstack一样

6、“==”用来比较两个数组

>>> a==b array([ True, False, False], [False, False, False], [False, False, False], dtype=bool) #True那个因为都是0
知秋君
上一篇 2024-07-03 15:31
下一篇 2024-07-03 15:31

相关推荐