numpy将不同长度的一维数组拼接为二维数组
时间: 2024-11-22 18:40:03 浏览: 14
Python numpy实现二维数组和一维数组拼接的方法
在NumPy库中,将不同长度的一维数组拼接成二维数组通常使用`numpy.concatenate()`函数或者`np.vstack()`和`np.hstack()`方法。这两个函数允许您沿指定轴方向堆叠数组。
例如,假设我们有两个一维数组arr1和arr2,它们的形状分别是(N1,)和(M1,),并且你想将它们垂直(行方向)堆叠起来形成一个新的二维数组,可以这样做:
```python
import numpy as np
arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5])
# 使用vstack沿纵轴(0轴)堆叠
concat_arr = np.vstack((arr1, arr2))
print(concat_arr) # 输出:[[1 2 3]
# [4 5]]
# 或者直接使用concatenate
concat_arr = np.concatenate((arr1.reshape(-1, 1), arr2.reshape(-1, 1)), axis=1)
print(concat_arr)
```
如果你想要水平(列方向)堆叠,则使用`hstack`代替`vstack`:
```python
concat_arr = np.hstack((arr1, arr2))
```
阅读全文