平均值、方差和标准

Posted

技术标签:

【中文标题】平均值、方差和标准【英文标题】:Mean, Var, and Std 【发布时间】:2020-12-26 19:05:29 【问题描述】:

任务是 给定一个大小为 X 的二维数组。 你的任务是找到:

    沿轴的平均值 沿轴的变量 沿轴的标准差

输入格式 第一行包含 和 的空格分隔值。 下一行包含空格分隔的整数。

输出格式 首先,打印平均值。 其次,打印变量。 三、打印标准。

示例输入

2 2
1 2
3 4

样本输出

[ 1.5  3.5]
[ 1.  1.]
1.11803398875

我的代码:

import numpy
N,M = map(int, input().split(" "))
A = numpy.array([input().split() for _ in range(N)],int)
print(numpy.mean(A, axis = 1))
print(numpy.var(A, axis = 0))
print(round(numpy.std(A, axis = None),11))

输出:

我似乎有一些缩进问题或我的打印结果超出预期,数组的第一个垂直元素前面有一个空格。 我做错什么了吗?

【问题讨论】:

【参考方案1】:

在导入 numpy 和打印 numpy 数据之间的任何地方。它告诉 numpy 打印格式化程序使用 numpy 1.13 版的默认设置,而不是 numpy 1.14 版(这是当前版本)。问题集的结果是固定的,显然是用旧的 numpy 完成的,所以如果你不这样做,你会得到各种格式不匹配,这会导致测试失败,即使你得到了正确的答案。

所以使用np.set_printoptions(legacy='1.13')

import numpy as np 

n,m = map(int, input().split())
b = []
for i in range(n):
    a = list(map(int, input().split()))
    b.append(a)

b = np.array(b)

np.set_printoptions(legacy='1.13')
print(np.mean(b, axis = 1))
print(np.var(b, axis = 0))
print(np.std(b))

【讨论】:

以上是关于平均值、方差和标准的主要内容,如果未能解决你的问题,请参考以下文章

用C语言如何算平均数和方差及标准差

如何计算/归一化零均值和单位方差

R语言vtreat包自动处理dataframe的缺失值计算数据列的均值和方差并基于均值和方差信息对数据列进行标准化缩放计算所有数据列的均值和方差对所有数据列进行标准化缩放

java编程求和平均值方差标准差

java编程求和平均值方差标准差

平均数、中位数、众数、方差、标准差、极差要怎么计算