summaryrefslogtreecommitdiff
path: root/calc-stats.py
blob: 0d3a5fe59cb44741d8805f1cfc6c68b098e08b24 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#!/usr/bin/python
# calculate statistics for a set of numbers from stdin

import sys
from math import sqrt

def mean(data):
	return sum(data) / len(data)

def variance(data):
	n = len(data)
	ss = sum(x**2 for x in data) - (sum(data)**2 / n)
	return ss / (n - 1)

def sdev(data):
	return sqrt(variance(data))

xs = []
for line in sys.stdin:
	xs.append(float(line))

print("Data:", xs)

print("n=", len(xs))
print("min:", min(xs))
print("max:", max(xs))
print("Mean:", mean(xs))
print("sd:", sdev(xs))