python - 计算矩阵的列均值 - 如何优化?
问题描述
输入:
[
[1,2,3,4,5],
[5,4,3,2,1],
[3,3,3,3,3]
]
输出:
[3,3,3,3,3]
蛮力解决方案:
def calculate_col_mean(matrix):
mean = []
num_row = len(matrix)
num_col = len(matrix[0])
result = [0] * num_col
for i in range(num_row):
for j in range(num_col):
result[j] += matrix[i][j]
for i in range(num_col):
result[i] = result[i] / num_row
return result
这适用于小型数据集。想象一下,如果我们的数据集真的很大(1GB++++),我该如何优化呢?穿线?我该怎么做呢?
PS:使用蛮力方法在 1GB 数据上运行大约需要 2 个小时。
解决方案
import numpy as np
a = np.array([[1,2,3,4,5],[5,4,3,2,1],[3,3,3,3,3]])
column_mean = a.mean(axis=0)
推荐阅读
- javascript - 使用 API 和 React Hooks 重新加载页面时出错
- mysql - Payu 与 laravel 多卖家集成
- ios - SwiftUI 应用程序崩溃并出现“尝试将第 2 行插入第 0 节,但更新后第 0 节中只有 2 行”错误
- python - 使用 pandas 根据条件选择滞后行和当前行
- amazon-web-services - AWS Cognito:用户创建和用户名
- excel - Excel VBA - 如何根据丢失的工作表重命名工作表
- algorithm - 向后执行的 Fisher-Yates 洗牌的正确性
- python - 根据键更新嵌套字典中的值
- quarkus - 在 Java 16 下构建原生 Quarkus 镜像?
- android - 在 iOS 发布配置中反应原生自定义地图标记问题