Hackerrank Mean, Var, and Std Solution
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.
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.
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:
- The mean along axis
- The var along axis
- 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.
python
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.
python
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.
python
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.
python
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.
python
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.
python
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)