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

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

  1. 沿轴的平均值
  2. 沿轴的变量
  3. 沿轴的标准差

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

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

示例输入

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))

输出:

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

【问题讨论】:

    标签: python arrays std mean var


    【解决方案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))
    

    【讨论】: