python - 如何进行 NxN 矩阵的均值、标准差和众数统计
问题描述
我想知道如何做 NxN 矩阵的平均值、标准差和模式统计。
有人可以建议如何在 python 中执行此操作吗?
解决方案
您可以通过计算出现次数并返回最大值来获取模式。
平均值是总和除以计数。
对于 stddev,您可以将平方距离相加,将其除以计数减 1,然后取平方根。
#! /usr/env python
import math
matrix = []
for i in range(9):
matrix.append([])
for x in range(9):
matrix[i].append(i+x*2)
mode = {}
avg = 0
stddev = 0
count = 0
for i in range(len(matrix)):
for x in range(len(matrix[i])):
avg+=matrix[i][x]
if matrix[i][x] in mode:
mode[matrix[i][x]]+=1
else:
mode[matrix[i][x]]=1
count+=1
maxcount = max(mode,key=mode.get)
avg /= count
# if you calculate the count from the dimensions...
# avg /= len(matrix)*len(matrix[0])
print(f'Mode = {maxcount} with {mode[maxcount]} occurrences')
print(f'Avg = {avg}')
# get the std dev
for i in range(len(matrix)):
for x in range(len(matrix[i])):
stddev += (matrix[i][x]-avg) ** 2
stddev /= count-1
print(f'Stddev = {math.sqrt(stddev)}')
推荐阅读
- python - 使用 groupby 和 get_group 将一个数据帧分成几个数据帧
- vuejs2 - vue js页面上的谷歌分析加载时间
- javascript - React 高阶组件:我可以将 JSX 元素作为道具传递吗?
- python - 为什么我的 python 计数器没有给我一个范围内的特定字符?
- tensorflow - Tensorflow:数据集的样本在地图中得到形状无
- r - 将 1 个长列拆分为 2 个较短的列,引用另一个表的 2 个列
- amazon-web-services - 使用 Google 登录(授权)的静态网站(S3 存储桶)
- angular - 从 Angular 中的 http 请求更新数据
- python - 向 Pandas 多索引数据框添加类别/标签
- webpack - 为什么画布从 nextjs 10.0.5 升级到 10.0.6 后会破坏构建?