numpy合并两个数组
时间: 2023-08-10 10:17:49 浏览: 104
可以使用 `numpy.concatenate` 函数合并两个数组,示例如下:
```python
import numpy as np
# 创建两个数组
arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
# 合并两个数组
result = np.concatenate((arr1, arr2))
print(result) # 输出 [1 2 3 4 5 6]
```
`numpy.concatenate` 函数可以接受一个元组作为参数,元组中包含要合并的数组,可以同时合并多个数组。例如:
```python
import numpy as np
# 创建三个数组
arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
arr3 = np.array([7, 8, 9])
# 合并三个数组
result = np.concatenate((arr1, arr2, arr3))
print(result) # 输出 [1 2 3 4 5 6 7 8 9]
```
除了 `numpy.concatenate` 函数,还有其他一些函数可以用于数组的合并操作,例如 `numpy.vstack` 和 `numpy.hstack` 函数,它们分别用于垂直和水平方向的合并。具体用法可以参考 numpy 的官方文档。
相关问题
用numpy取两个数组的并集
可以使用numpy中的`union1d`函数来取两个数组的并集,例如:
```python
import numpy as np
a = np.array([1, 2, 3])
b = np.array([2, 3, 4])
c = np.union1d(a, b)
print(c) # 输出 [1 2 3 4]
```
`union1d`函数将两个数组中的所有元素合并,并去除重复的元素,最终返回一个新的数组。
numpy两个数组交叉合为一个数组
可以使用numpy的concatenate函数将两个数组水平合并(即按列进行拼接)或者垂直合并(即按行进行拼接)。
例如,假设有两个数组a和b:
```
import numpy as np
a = np.array([[1, 2], [3, 4]])
b = np.array([[5, 6], [7, 8]])
```
将它们按列进行拼接:
```
c = np.concatenate((a, b), axis=1)
print(c)
```
输出为:
```
array([[1, 2, 5, 6],
[3, 4, 7, 8]])
```
将它们按行进行拼接:
```
d = np.concatenate((a, b), axis=0)
print(d)
```
输出为:
```
array([[1, 2],
[3, 4],
[5, 6],
[7, 8]])
```
阅读全文