python转换数组维度
时间: 2024-10-18 20:03:10 浏览: 34
在Python中,如果你有一个一维数组(列表或numpy数组)并想将其转换为二维数组,通常有两种常见方法:
1. **使用numpy库**:
如果你已经有了一个`np.array`,你可以使用`reshape()`函数来改变其维度。例如:
```python
import numpy as np
one_dim_array = [1, 2, 3, 4, 5]
two_dim_array = np.array(one_dim_array).reshape((len(one_dim_array) // n_rows, n_rows))
```
这里,`n_rows`是你希望得到的每行元素的数量。如果没有整除,则可能会产生不规则形状的数组。
2. **使用列表推导**:
对于简单的列表,你可以直接用嵌套列表的形式创建一个新的二维数组:
```python
one_dim_array = [1, 2, 3, 4, 5]
two_dim_list = [[row] for row in one_dim_array]
```
如果你想反向转换一个二维数组到一维,可以简单地使用`flatten()`函数(对于numpy数组)或列表解析(对列表):
```python
two_dim_array = [[1, 2], [3, 4]]
one_dim_array = [item for sublist in two_dim_array for item in sublist]
# 或者使用numpy的flatten
one_dim_array_numpy = two_dim_array.flatten()
```
阅读全文