def zScore(numbers: list) -> list:
     zScores = []
     standardDeviation = DescriptiveStatisticsOperations.standardDeviation(numbers)
     mean = DescriptiveStatisticsOperations.mean(numbers)
     for number in numbers:
         zScores.append(BasicOperations.division(BasicOperations.subtraction(number, mean), standardDeviation))
     return zScores
 def variance(numbers: list) -> float:
     mean = DescriptiveStatisticsOperations.mean(numbers)
     squaredDifferences = []
     for number in numbers:
         squaredDifferences.append(BasicOperations.square(BasicOperations.subtraction(mean, number)))
     variance = BasicOperations.division(sum(squaredDifferences), len(numbers))
     return variance
 def median(numbers: list) -> float:
     numbers = sorted(numbers)
     if len(numbers) % 2 == 1:
         middleIndex = int(BasicOperations.division(len(numbers) - 1, 2))
         median = numbers[middleIndex]
     else:
         leftMiddleIndex = int(BasicOperations.subtraction(BasicOperations.division(len(numbers) - 1, 2), 0.5))
         rightMiddleIndex = int(BasicOperations.addition(BasicOperations.division(len(numbers) - 1, 2), 0.5))
         median = BasicOperations.division(BasicOperations.addition(numbers[leftMiddleIndex], numbers[rightMiddleIndex]), 2)
     return float(median)
 def standardDeviation(numbers: list) -> float:
     standardDeviation = BasicOperations.squareRoot(DescriptiveStatisticsOperations.variance(numbers))
     return standardDeviation
 def mean(numbers: list) -> float:
     summation = 0.0
     for number in numbers:
         summation = BasicOperations.addition(summation, number)
     return BasicOperations.division(summation, len(numbers))
 def add(self, x, y):
     self.results.append(BasicOperations.addition(x, y))
     return self.results[-1]
 def squareRoot(self, x):
     self.results.append(BasicOperations.squareRoot(x))
     return self.results[-1]
 def multiply(self, x, y):
     self.results.append(BasicOperations.multiplication(x, y))
     return self.results[-1]
 def divide(self, x, y):
     self.results.append(BasicOperations.division(x, y))
     return self.results[-1]
Esempio n. 10
0
 def subtract(self, x, y):
     self.results.append(BasicOperations.subtraction(x, y))
     return self.results[-1]