numpy 一维数组 变成二维数组
时间: 2024-11-28 21:26:49 浏览: 8
numpy中三维数组中加入元素后的位置详解
在 NumPy 中,将一维数组转换为二维数组通常有两种方法:
1. **通过 reshape 函数**:
使用 `reshape` 函数可以根据新的形状重塑数组。例如,如果你有一个一维数组 `arr`,你可以将其转换为 `(n, 1)` 形状,其中 `n` 是原来数组的长度,得到一个包含 n 个单元素列的二维数组。
```python
import numpy as np
one_dim_arr = np.array([1, 2, 3, 4, 5])
two_dim_arr = one_dim_arr.reshape((len(one_dim_arr), 1))
print(two_dim_arr) # 输出: [[1]
# [2]
# [3]
# [4]
# [5]]
```
2. **直接创建**:
如果你知道你想创建的二维数组的具体形状,可以直接创建一个新的二维数组,并将一维数组作为其中的一个列。
```python
one_dim_arr = np.array([1, 2, 3, 4, 5])
two_dim_arr = np.column_stack((one_dim_arr,))
print(two_dim_arr) # 输出: [[1]
# [2]
# [3]
# [4]
# [5]]
```
或者使用 `np.tile` 和 `np.expand_dims` 来创建:
```python
one_dim_arr = np.array([1, 2, 3])
two_dim_arr = np.tile(np.expand_dims(one_dim_arr, axis=0), (3, 1))
print(two_dim_arr) # 输出: [[1 2 3]
# [1 2 3]
# [1 2 3]]
```
阅读全文