python二维数组运用
时间: 2025-01-18 15:57:29 浏览: 51
### Python 中二维数组的用法和操作
#### 创建二维数组
在 Python 中,可以使用多种方法创建二维数组。最常用的是通过 `list` 或者 NumPy 库中的 `np.array()` 函数。
对于列表而言,可以通过嵌套列表来表示二维数组:
```python
two_dim_list = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
```
而利用 NumPy,则更加简洁高效[^4]:
```python
import numpy as np
two_dim_array = np.array([
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
])
```
#### 访问元素
访问二维数组中的单个元素可通过指定行列索引来完成:
```python
element = two_dim_array[0][1] # 获取第1行第2列的值
print(element) # 输出: 2
```
也可以采用另一种更直观的方式来进行索引:
```python
element = two_dim_array[0, 1] # 同样获取第1行第2列的值
print(element) # 输出: 2
```
#### 修改元素
修改特定位置上的数值同样简单明了:
```python
two_dim_array[0, 1] = 10 # 将原位置处的2替换为10
print(two_dim_array)
# 结果如下所示:
#[[ 1 10 3]
# [ 4 5 6]
# [ 7 8 9]]
```
#### 添加新行/列
要向现有二维数组添加新的行或列,可借助于 `vstack()` 和 `hstack()` 方法(垂直堆叠和平铺堆叠),或者直接追加到列表再转换成 ndarray 对象.
以下是增加一行的例子:
```python
new_row = np.array([[10, 11, 12]])
updated_two_dim_array = np.vstack((two_dim_array, new_row))
print(updated_two_dim_array)
# 结果如下所示:
#[[ 1 10 3]
# [ 4 5 6]
# [ 7 8 9]
# [10 11 12]]
```
如果想要新增一列则可以用 hstack() :
```python
new_column = np.array([[13], [14], [15], [16]])
updated_two_dim_array_with_col = np.hstack((updated_two_dim_array, new_column))
print(updated_two_dim_array_with_col)
# 结果如下所示:
#[[ 1 10 3 13]
# [ 4 5 6 14]
# [ 7 8 9 15]
# [10 11 12 16]]
```
#### 删除行/列
删除某一行或某一列的操作相对复杂一些,通常需要先找到目标维度对应的布尔掩码,之后应用该掩码过滤掉不需要的部分。
这里给出移除第二行的一个例子:
```python
mask = np.ones(len(updated_two_dim_array), dtype=bool)
mask[1] = False # 设置第二个元素为False
filtered_two_dim_array = updated_two_dim_array[mask]
print(filtered_two_dim_array)
# 结果如下所示:
#[[ 1 10 3]
# [ 7 8 9]
# [10 11 12]]
```
同样的逻辑适用于去除任意列的情况。
#### 转换形状
有时可能希望改变已有的多维数组结构而不影响其内部的数据分布,在这种情况下就可以考虑调用 reshape() 方法重设尺寸规格。
比如将上述三维矩阵降级回原始状态:
```python
reshaped_to_original_shape = filtered_two_dim_array.reshape(-1, 3)
print(reshaped_to_original_shape)
# 结果如下所示:
#[[ 1 10 3]
# [ 7 8 9]
# [10 11 12]]
```
阅读全文
相关推荐

















