You've successfully subscribed to The Poor Coder | Hackerrank Solutions
Great! Next, complete checkout for full access to The Poor Coder | Hackerrank Solutions
Welcome back! You've successfully signed in.
Success! Your account is fully activated, you now have access to all content.
Hackerrank Mean, Var, and Std Solution

Hackerrank Mean, Var, and Std Solution

Beeze Aal
Beeze Aal

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.


Task

You are given a 2-D array of size X.
Your task is to find:

  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)