python numpy stack hstack vstack

本文详细介绍了使用NumPy库在Python中进行数组连接的各种方法,包括stack(), hstack(), vstack()函数的用法及实例,展示了如何通过不同的轴进行数组的垂直、水平和深度方向的连接。

两个array的不同连接方式

1.stack()

按照指定的轴对数组序列进行联结。
语法格式:numpy.stack(arrays, axis=0, out=None)

import numpy as np
a=[[1,2,3],
   [4,5,6]]
b=[[1,2,3],
   [4,5,6]]
c=[[1,2,3],
   [4,5,6]]
print("a=",a)
print("b=",b)
print("c=",c)

d=np.stack((a,b,c),axis=0)
print('"axis=0":\n',d)

d=np.stack((a,b,c),axis=1)
print('"axis=1":\n',d)

d=np.stack((a,b,c),axis=2)
print('"axis=2":\n',d)

运行结果:
a= [[1, 2, 3], [4, 5, 6]]
b= [[1, 2, 3], [4, 5, 6]]
c= [[1, 2, 3], [4, 5, 6]]
“axis=0”:
[[[1 2 3]
[4 5 6]]

[[1 2 3]
[4 5 6]]

[[1 2 3]
[4 5 6]]]
“axis=1”:
[[[1 2 3]
[1 2 3]
[1 2 3]]

[[4 5 6]
[4 5 6]
[4 5 6]]]
“axis=2”:
[[[1 1 1]
[2 2 2]
[3 3 3]]

[[4 4 4]
[5 5 5]
[6 6 6]]]

独立联结

2.hstack()

水平串联
语法格式:numpy.hstack(tup)

a = np.array((1,2,3))
b = np.array((2,3,4))
np.hstack((a,b))

结果:
array([1, 2, 3, 2, 3, 4])

a = np.array([[1],[2],[3]])
b = np.array([[2],[3],[4]])
np.hstack((a,b))


结果:
array([[1, 2],
[2, 3],
[3, 4]])

import numpy as np
a=[[1,2,3],
   [4,5,6]]
b=[[1,2,3],
   [4,5,6]]
c=[[1,2,3],
   [4,5,6]]
print(np.hstack((a,b,c)))

结果:
[[1 2 3 1 2 3 1 2 3]
[4 5 6 4 5 6 4 5 6]]

3.vstack()

垂直串联
语法格式:numpy.vstack(tup)

a = np.array([1, 2, 3])
b = np.array([2, 3, 4])
np.vstack((a,b))

结果:
array([[1, 2, 3],
[2, 3, 4]])

a = np.array([[1], [2], [3]])
b = np.array([[2], [3], [4]])
np.vstack((a,b))

结果:
array([[1],
[2],
[3],
[2],
[3],
[4]])

import numpy as np
a=[[1,2,3],
   [4,5,6]]
b=[[1,2,3],
   [4,5,6]]
c=[[1,2,3],
   [4,5,6]]
print(np.vstack((a,b,c)))

结果:
[[1 2 3]
[4 5 6]
[1 2 3]
[4 5 6]
[1 2 3]
[4 5 6]]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值