numpy数组怎么拼接和合并,请举例说明
时间: 2023-05-26 15:07:12 浏览: 116
拼接和合并是将多个数组组合成一个更大的数组的操作。在numpy中,有几种方法可以完成这个任务:
1. concatenate函数:可以将两个或多个数组在指定轴上拼接起来。例如,将两个一维数组拼接成一个更大的一维数组:
``` python
import numpy as np
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
c = np.concatenate((a, b))
print(c) # 输出 [1 2 3 4 5 6]
```
也可以将两个二维数组在指定轴上拼接起来:
``` python
import numpy as np
a = np.array([[1, 2], [3, 4]])
b = np.array([[5, 6]])
c = np.concatenate((a, b), axis=0)
print(c) # 输出 [[1, 2], [3, 4], [5, 6]]
```
2. vstack和hstack函数:vstack函数将两个数组垂直堆叠(行方向),而hstack函数将两个数组水平堆叠(列方向)。例如:
``` python
import numpy as np
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
c = np.vstack((a, b))
print(c) # 输出 [[1 2 3], [4 5 6]]
a = np.array([[1], [2], [3]])
b = np.array([[4], [5], [6]])
c = np.hstack((a, b))
print(c) # 输出 [[1 4], [2 5], [3 6]]
```
3. stack函数:可以将多个数组沿着一个新的轴(维度)进行堆叠。例如:
``` python
import numpy as np
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
c = np.stack((a, b), axis=0)
print(c) # 输出 [[1 2 3], [4 5 6]]
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
c = np.stack((a, b), axis=1)
print(c) # 输出 [[1 4], [2 5], [3 6]]
```
4. append函数:可以将一个数组添加到另一个数组的末尾。例如:
``` python
import numpy as np
a = np.array([1, 2, 3])
b = np.array([[4, 5], [6, 7]])
c = np.append(b, a.reshape(1, -1), axis=0)
print(c) # 输出 [[4 5], [6 7], [1 2 3]]
```
阅读全文