均值、Var 和 Std

Mean, Var, and Std

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

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

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

输出格式 首先,打印平均值。 其次,打印 var。 三、打印std.

示例输入

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

输出:

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

导入 numpy 和打印 numpy 数据之间的任何地方。它告诉 numpy 打印格式化程序使用 numpy 1.13 版的默认设置,而不是 numpy 1.14 版(当前版本)。 problem-set 结果是固定的,并且显然是用旧的 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))

对于python3,我使用了以下代码:

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