Code :
import numpy as np
def calculate(list):
if len(list) < 9:
raise ValueError("List must contain nine numbers.")
matrix = np.array(list).reshape(3,3)
meanx1 = matrix.mean(axis=1)
meanx2 = matrix.mean(axis=0)
meanall = matrix.mean()
varx1 = matrix.var(axis=1)
varx2 = matrix.var(axis=0)
varall = matrix.var()
stdx1 = matrix.std(axis=1)
stdx2 = matrix.std(axis=0)
stdall = matrix.std()
maxx1 = matrix.max(axis=1)
maxx2 = matrix.max(axis=0)
maxall = matrix.max()
minx1 = matrix.min(axis=1)
minx2 = matrix.min(axis=0)
minall = matrix.min()
sumx1 = matrix.sum(axis=1)
sumx2 = matrix.sum(axis=0)
sumall = matrix.sum()
means = meanx2.tolist(), meanx1.tolist(), meanall.tolist()
vars = varx2.tolist(), varx1.tolist(), varall.tolist()
stds = stdx2.tolist(), stdx1.tolist(), stdall.tolist()
maxs = maxx2.tolist(), maxx1.tolist(), maxall.tolist()
mins = minx2.tolist(), minx1.tolist(), minall.tolist()
sums = sumx2.tolist(), sumx1.tolist(), sumall.tolist()
calculation = {"mean":means,
"variance":vars,
"standard deviation":stds,
"max":maxs,
"min":mins,
"sum":sums}
return calculation
output:
python main.py
{'mean': ([3.0, 4.0, 5.0], [1.0, 4.0, 7.0], 4.0), 'variance': ([6.0, 6.0, 6.0], [0.6666666666666666, 0.6666666666666666, 0.6666666666666666], 6.666666666666667), 'standard deviation': ([2.449489742783178, 2.449489742783178, 2.449489742783178], [0.816496580927726, 0.8164965809277
python main.py
{'mean': ([3.0, 4.0, 5.0], [1.0, 4.0, 7.0], 4.0), 'variance': ([6.0, 6.0, 6.0], [0.6666666666
python main.py
{'mean': ([3.0, 4.0, 5.0], [1.0, 4.0, 7.0], 4.0), 'variance': ([6.0, 6.0, 6.0], [0.6666666666666666, 0.6666666666666666, 0.6666666666666666], 6.666666666666667), 'standard deviation': ([2.449489742783178, 2.449489742783178, 2.449489742783178], [0.816496580927726, 0.816496580927726, 0.816496580927726], 2.581988897471611), 'max': ([6, 7, 8], [2, 5, 8], 8), 'min': ([0, 1, 2], [0, 3, 6], 0), 'sum': ([9, 12, 15], [3, 12, 21], 36)}
EE.
======================================================================
ERROR: test_calculate (test_module.UnitTests)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/runner/boilerplate-mean-variance-standard-deviation-calculator/test_module.py", line 10, in test_calculate
self.assertAlmostEqual(actual, expected, "Expected different output when calling 'calculate()' with '[2,6,2,8,4,0,1,5,7]'")
File "/usr/lib/python3.8/unittest/case.py", line 943, in assertAlmostEqual
diff = abs(first - second)
TypeError: unsupported operand type(s) for -: 'dict' and 'dict'
======================================================================
ERROR: test_calculate2 (test_module.UnitTests)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/runner/boilerplate-mean-variance-standard-deviation-calculator/test_module.py", line 15, in test_calculate2
self.assertAlmostEqual(actual, expected, "Expected different output when calling 'calculate()' with '[9,1,5,3,3,3,2,9,0]'")
File "/usr/lib/python3.8/unittest/case.py", line 943, in assertAlmostEqual
diff = abs(first - second)
TypeError: unsupported operand type(s) for -: 'dict' and 'dict'
----------------------------------------------------------------------
Ran 3 tests in 0.003s
FAILED (errors=2)