Source code for similarityPy.algorithms.median

# coding=utf-8
"""
Created on 18 January 2014
@author: Cenk Bircanoglu
"""


[docs]class Median: def __init__(self): self.data = []
[docs] def calculate(self, data, is_tuple=False, index=None): if is_tuple: self.data = sorted([obj[index] for obj in data]) else: self.data = sorted(data) return self.__algorithm()
def __algorithm(self): data_length = len(self.data) index = (data_length + 1) / 2 if data_length % 2 == 0: index = (data_length / 2 + (data_length + 1) / 2) / 2 try: return float(self.data[index - 1]) except: raise