平均值、方差和标准

问题描述 投票:0回答:3

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

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

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

输出格式 首先,打印平均值。 其次,打印 var。 第三,打印标准。

示例输入

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

输出: enter image description here

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

python arrays std mean var
3个回答
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))

0
投票

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

0
投票

我使用了以下代码,但仍然出现错误:

import numpy as np

np.set_printoptions(legacy="1.13")

if __name__ == "__main__":
    n, m = map(int, input().rstrip().split())
    
    array = []
    for i in range(n):
        row = list(map(int, input().rstrip().split()))
        assert len(row) == m, "Wrong input"
        
        array.append(row)
    
    print(np.mean(array, axis=1))
    print(np.var(array, axis=0))
    print(np.round(np.std(array), 11))
© www.soinside.com 2019 - 2024. All rights reserved.