Hackerrank Mean, Var, and Std Solution

mean

The mean tool computes the arithmetic mean along the specified axis.

import numpy

my_array = numpy.array([ [1, 2], [3, 4] ])

print numpy.mean(my_array, axis = 0)        #Output : [ 2.  3.]
print numpy.mean(my_array, axis = 1)        #Output : [ 1.5  3.5]
print numpy.mean(my_array, axis = None)     #Output : 2.5
print numpy.mean(my_array)                  #Output : 2.5


By default, the axis is None. Therefore, it computes the mean of the flattened array.

var

The var tool computes the arithmetic variance along the specified axis.

import numpy

my_array = numpy.array([ [1, 2], [3, 4] ])

print numpy.var(my_array, axis = 0)         #Output : [ 1.  1.]
print numpy.var(my_array, axis = 1)         #Output : [ 0.25  0.25]
print numpy.var(my_array, axis = None)      #Output : 1.25
print numpy.var(my_array)                   #Output : 1.25


By default, the axis is None. Therefore, it computes the variance of the flattened array.

std

The std tool computes the arithmetic standard deviation along the specified axis.

import numpy

my_array = numpy.array([ [1, 2], [3, 4] ])

print numpy.std(my_array, axis = 0)         #Output : [ 1.  1.]
print numpy.std(my_array, axis = 1)         #Output : [ 0.5  0.5]
print numpy.std(my_array, axis = None)      #Output : 1.11803398875
print numpy.std(my_array)                   #Output : 1.11803398875


By default, the axis is None. Therefore, it computes the standard deviation of the flattened array.

You are given a 2-D array of size X.

1. The mean along axis
2. The var along axis
3. The std along axis

Input Format

The first line contains the space separated values of  and .
The next  lines contains  space separated integers.

Output Format

First, print the mean.
Second, print the var.
Third, print the std.

Sample Input

2 2
1 2
3 4


Sample Output

[ 1.5  3.5]
[ 1.  1.]
1.11803398875

Solution in python3

Approach 1.

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

Approach 2.

import numpy
a = numpy.array([input().split() for _ in range(int(input().split()[0]))],int)
print(numpy.mean(a,axis=1),numpy.var(a,axis=0),numpy.std(a),sep="\n")

Approach 3.

import numpy
n,m=map(int,input().split())
a=numpy.array([list(map(int,input().split())) for i in range(n)])
print(numpy.mean(a,axis=1))
print(numpy.var(a,axis=0))
print(numpy.std(a,None))

Solution in python

Approach 1.

import numpy
N, M = map(int, raw_input().split())
A = numpy.array([map(int, raw_input().split()) for i in range(N)])
print numpy.mean(A,1)
print numpy.var(A,0)
print numpy.std(A)

Approach 2.

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

Approach 3.

import numpy
n,m = map(int,raw_input().split())
A = []
for _ in range(n):
A.append(map(int,raw_input().split()))
A = numpy.array(A)
print numpy.mean(A,axis = 1)
print numpy.var(A,axis = 0)
print numpy.std(A)