Numpy——数组的拼接和分裂

1、利用np.concatenate、np.vstack、np.hstack进行数组拼接

np.concatenate([x, y], axis=0)
将x,y两个数组拼接在一起,返回numpy数组,x, y的类型可以是列表、元组、ndarray等等都可以,也可以有两个以上的列表进行拼接。axis是拼接维度,若axis不等于0的话x,y必须是多维数组。

例子:

grid = np.array([[1, 2, 3], [4, 5, 6]])
np.concatenate([grid, grid, grid], axis=0)
#array([[1, 2, 3],
#       [4, 5, 6],
#       [1, 2, 3],
#       [4, 5, 6],
#       [1, 2, 3],
#       [4, 5, 6]])

grid = np.array([[1, 2, 3], [4, 5, 6]])
np.concatenate([grid, grid, grid], axis=1)
#array([[1, 2, 3, 1, 2, 3, 1, 2, 3],
#       [4, 5, 6, 4, 5, 6, 4, 5, 6]])

np.vstack() #同np.concatenate()中axis=0
np.hstack() #同np.concatenate()中axis=1
np.dstack() #同np.concatenate()中axis=2

2、利用np.split、np.hsplit、np.vsplit进行数组分裂

x1, x2, x3 = np.split(x, [3, 6], axis=0)
三个参数,一个参数是数组,一个参数是一个索引列表,列表中记录的是分裂点的位置。如上例中2个分裂点,分裂出3个子数组。axis指从哪个轴上分裂,默认为0.

例子:

grid = np.array([[1, 2, 3], [4, 5, 6]])
x, y = np.split(grid, [1], axis=0)
x
y
#array([[1, 2, 3]])
#array([[4, 5, 6]])

grid = np.array([[1, 2, 3], [4, 5, 6]])
x, y = np.split(grid, [1], axis=0)
x
y
#array([[1],
#       [4]])
#array([[2, 3],
#       [5, 6]])

np.vsplit() #同np.split()中axis=0
np.hsplit() #同np.split()中axis=1
np.dsplit() #同np.split()中axis=2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值