Python numpy实现二维数组和一维数组拼接

撰写时间:2017.5.23

一维数组

1.numpy初始化一维数组

a = np.array([1,2,3]);
print a.shape

输出的值应该为(3,)

二维数组

2.numpy初始化二维数组

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

print a.shape//(13print b.shape//(3,1

注意(3,)和(3,1)的数组是不一样的,前者是一维数组,后者是二维数组。

拼接

3.numpy有很多的拼接函数。比如hstack和vstack等。网上又很多这样的总结帖子。但是两个数组能拼接的条件就是得满足两个数组的维度要相同。所以二维数组和一维数组拼接的时候需要使用newaxis将一维数组转化为二维数组,也就是shape从(3,)转化为(3,1)。

a = np.array([1,2,3]);
b = np.array([[1],[2],[3]]);
#将一维数组a转化为二维数组
a = a[:,np.newaxis];

c = np.concatenate((b,a),axis=1)
print c.shape//输出为(3,2
NumPy是一个常用的Python库,用于科学计算。通过它,我们可以快速地创建、操作和处理多维数组。其中一项常见的操作就是数组的拼接。这个操作可以将多个数组按照行或列的顺序拼接在一起,从而形成一个新的数组。 对于一维数组拼接NumPy提供了concatenate()函数。这个函数可以将多个一维数组按照指定的轴(默认是0)拼接在一起,形成一个新的数组。例如,假设我们有两个一维数组a和b: ```python import numpy as np a = np.array([1, 2, 3]) b = np.array([4, 5, 6]) ``` 我们可以使用concatenate()函数将它们拼接在一起: ```python c = np.concatenate([a, b]) print(c) ``` 输出为: ``` [1 2 3 4 5 6] ``` 对于二维数组拼接NumPy也提供了hstack()和vstack()函数。这两个函数可以将多个数组按照行或列的顺序拼接在一起,形成一个新的数组。 hstack()函数将多个数组按照行的方向拼接在一起,即水平拼接。例如,假设我们有两个二维数组a和b: ```python import numpy as np a = np.array([[1, 2], [3, 4]]) b = np.array([[5, 6], [7, 8]]) ``` 我们可以使用hstack()函数将它们水平拼接在一起: ```python c = np.hstack([a, b]) print(c) ``` 输出为: ``` array([[1, 2, 5, 6], [3, 4, 7, 8]]) ``` vstack()函数将多个数组按照行的方向拼接在一起,即垂直拼接。例如,假设我们有两个二维数组a和b: ```python import numpy as np a = np.array([[1, 2], [3, 4]]) b = np.array([[5, 6], [7, 8]]) ``` 我们可以使用vstack()函数将它们垂直拼接在一起: ```python c = np.vstack([a, b]) print(c) ``` 输出为: ``` array([[1, 2], [3, 4], [5, 6], [7, 8]]) ``` 通过以上介绍,我们可以实现一维数组二维数组之间的拼接
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值