数组的拼接合并 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
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值