43 lines
954 B
Python
43 lines
954 B
Python
import sys
|
|
from math import ceil, floor, fabs
|
|
from arduino import Data
|
|
|
|
# MTS: classes
|
|
|
|
def cleanlist(l):
|
|
c = []
|
|
fails = 0
|
|
for x in l:
|
|
try:
|
|
c.append(int(x[:-1]))
|
|
except:
|
|
fails += 1
|
|
return (c, fails)
|
|
|
|
|
|
|
|
if __name__ == "__main__":
|
|
if "--clean" in sys.argv:
|
|
input, fails = cleanlist(sys.stdin.readlines())
|
|
print "Unparseable: %f" % (float(fails)/(len(input)+fails))
|
|
else:
|
|
input = [int(a[:-1]) for a in sys.stdin.readlines() if a[:-1]]
|
|
|
|
d = Data(input)
|
|
|
|
freqs, uniformity = d.freq()
|
|
|
|
# Write the frequencies to a file in csv form
|
|
f = open('temp.txt', 'w')
|
|
for k in sorted(freqs):
|
|
f.write("%d, %d\n" % (k, freqs[k]))
|
|
print "Wrote frequncies to temp.txt"
|
|
f.close()
|
|
|
|
print "Mean: %f" % d.mean
|
|
print "Uniformity %f" % uniformity
|
|
print "Sample size: %d" % d.count
|
|
|
|
print float(sum(map(fabs, d.correlation())))/d.count
|
|
|