二维数组行列求和python
时间: 2025-05-08 17:15:40 浏览: 22
### 计算二维数组每行和每列的和
在 Python 中,可以通过 `NumPy` 库高效地处理二维数组的操作。以下是具体实现方式:
#### 使用 NumPy 实现
对于一个二维数组 `arr`,可以利用 `np.sum()` 函数分别指定轴参数来完成行和列的求和操作。
- **按行求和**:通过设置 `axis=1` 参数,表示沿着每一行的方向进行累加。
- **按列求和**:通过设置 `axis=0` 参数,表示沿着每一列的方向进行累加。
代码如下所示:
```python
import numpy as np
# 创建一个示例二维数组
arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
# 按行求和 (返回每个行的总和)
row_sums = np.sum(arr, axis=1)
# 按列求和 (返回每个列的总和)
col_sums = np.sum(arr, axis=0)
print("原始数组:")
print(arr)
print("\n每行的和:", row_sums)
print("每列的和:", col_sums)
```
上述代码会输出以下结果:
```
原始数组:
[[1 2 3]
[4 5 6]
[7 8 9]]
每行的和: [ 6 15 24]
每列的和: [12 15 18]
```
此方法基于高效的数值计算库 `NumPy` 提供的功能[^1]。
#### 手动实现(不依赖 NumPy)
如果不使用外部库,则可通过嵌套循环手动遍历并累积求和。这种方式虽然效率较低,但在某些场景下可能适用。
代码示例如下:
```python
# 定义一个二维列表作为输入数据
data = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
# 初始化存储结果的变量
row_sums_manual = []
col_sums_manual = [0] * len(data[0])
# 遍历整个二维数组
for row in data:
# 对当前行求和
row_sum = sum(row)
row_sums_manual.append(row_sum)
# 更新各列的累计值
for idx, value in enumerate(row):
col_sums_manual[idx] += value
print("每行的手动求和结果:", row_sums_manual)
print("每列的手动求和结果:", col_sums_manual)
```
运行该脚本同样会产生相同的结果集[^3]。
### 总结
无论是借助强大的第三方工具还是纯逻辑编程技巧都可以达到目标效果。推荐优先考虑采用经过优化过的科学计算包如 NumPy 来简化开发流程以及提升性能表现[^4]^。
阅读全文
相关推荐


















