Total Complexity | 6 |
Total Lines | 22 |
Duplicated Lines | 0 % |
Changes | 0 |
1 | class Observation(object): |
||
51 | class SampleDistribution(object): |
||
52 | sample = None |
||
53 | group_id = None |
||
54 | |||
55 | def __init__(self, sample=None, group_id=None): |
||
56 | if group_id is not None: |
||
57 | self.group_id = group_id |
||
58 | if sample is not None: |
||
59 | self.sample = sample |
||
60 | self.mean = SampleDistribution.calculate_mean(sample, group_id) |
||
61 | |||
62 | @staticmethod |
||
63 | def calculate_mean(sample, group_id): |
||
64 | count = 0 |
||
65 | sum = 0 |
||
66 | for i in range(sample.size()): |
||
67 | observation = sample.get(i) |
||
68 | if observation.group_id != group_id: |
||
69 | continue |
||
70 | sum += observation.x |
||
71 | count += 1 |
||
72 | return sum / count |
||
73 |