如何把三个(1,100)的numpy数组合并为一个(3,100)的numpy数组
时间: 2023-11-25 12:08:34 浏览: 33
可以使用numpy的concatenate函数来合并三个数组。具体实现如下:
```python
import numpy as np
# 创建三个(1,100)的数组
arr1 = np.random.rand(1, 100)
arr2 = np.random.rand(1, 100)
arr3 = np.random.rand(1, 100)
# 使用concatenate函数将三个数组合并为一个(3,100)的数组
result = np.concatenate((arr1, arr2, arr3), axis=0)
print(result.shape) # 输出(3,100)
```
相关问题
合并三个numpy一维数组为一个二维数组
可以使用`numpy.column_stack()`函数来将三个一维数组合并为一个二维数组。
示例代码:
```python
import numpy as np
# 三个一维数组
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
c = np.array([7, 8, 9])
# 合并为一个二维数组
d = np.column_stack((a, b, c))
print(d)
# 输出:
# [[1 4 7]
# [2 5 8]
# [3 6 9]]
```
其中,`column_stack()`函数的参数为一个元组,包含要合并的一维数组。在合并时,将三个一维数组按列合并为一个二维数组d。
np.concatenate((arr1, arr2, arr3), axis=0)为什么把三个(1,100)的numpy数组合并为一个(1,300)的数组,要怎么得到一个(3,100)的数组
np.concatenate((arr1, arr2, arr3), axis=0)会将三个(1,100)的数组按行方向(axis=0)合并为一个(3,100)的数组,即在行的方向上拼接。
若要得到一个(3,100)的数组,可以将三个(1,100)的数组放在一个列表中,然后使用np.array()将列表转换为数组,如下所示:
```python
import numpy as np
arr1 = np.ones((1, 100))
arr2 = np.zeros((1, 100))
arr3 = np.full((1, 100), 2)
arr_list = [arr1, arr2, arr3]
arr = np.array(arr_list)
print(arr.shape) # (3, 100)
```