import pandas as pd import matplotlib.pyplot as plt df = pd.read_csv("pt-27690.csv",index_col=0, parse_dates=True) df.plot() f = open("pt-27690.csv","r") data = f.read() f.close() print data period = (df.index[-1] - df.index[0]).total_seconds() print "%03f ms" % (period * 1000) print "%03f Hz" % (1/period) #theoretical offset is 15mV (12.288 codes). Measured offset is 12 codes. # 1 code is 240mV in the primary voltage mvLSB = 5 / float(2**12) gain = 500/3.0 offset = 12 Vpp = {} Vrms = {} for p in ['A','B','C','E']: pmax = df[p].max() - offset pmin = df[p].min() - offset pp = pmax - pmin Vpp[p] = pp * mvLSB * gain Vrms[p] = Vpp[p] / (2 * sqrt(2)) print "A: %.1f Vpp , B: %.1f Vpp , C: %0.1f Vpp , E: %.1f Vpp" % (Vpp['A'], Vpp['B'], Vpp['C'], Vpp['E']) print "A: %.1f Vrms, B: %.1f Vrms, C: %0.1f Vrms, E: %.1f Vrms" % (Vrms['A'], Vrms['B'], Vrms['C'], Vrms['E'])