In [1]:
import ext_datos as ext
import pandas as pd
import matplotlib.pyplot as plt
import separar as sp

In [3]:
data = ext.extraer_data('dia2')

In [4]:
motor1, motor2 = sp.sep(data)

In [5]:
motor1f, motor2f = sp.concatenar(motor1,motor2)

In [6]:
motores = sp.juntar(motor1f,motor2f)

In [7]:
motores.values.nbytes + motores.index.nbytes + motores.columns.nbytes


Out[7]:
94956520

In [8]:
94956520/1024


Out[8]:
92730

In [19]:
motores[['busVoltage_m1','busVoltage_m2']].head(1000)


Out[19]:
busVoltage_m1 busVoltage_m2
time
2014-11-14 08:53:36 NaN 151.366074
2014-11-14 08:53:36.200000 NaN 151.361038
2014-11-14 08:53:36.400000 NaN 151.361633
2014-11-14 08:53:36.600000 NaN 151.404617
2014-11-14 08:53:36.800000 NaN 151.408127
2014-11-14 08:53:37 NaN 151.416626
2014-11-14 08:53:37.200000 NaN 151.430328
2014-11-14 08:53:37.400000 NaN 151.442947
2014-11-14 08:53:37.600000 NaN 151.417343
2014-11-14 08:53:37.800000 NaN 151.415558
2014-11-14 08:53:38 NaN 151.418121
2014-11-14 08:53:38.200000 NaN 151.445114
2014-11-14 08:53:38.400000 NaN 151.445557
2014-11-14 08:53:38.600000 NaN 151.432007
2014-11-14 08:53:38.800000 NaN 151.424561
2014-11-14 08:53:39 NaN 151.332764
2014-11-14 08:53:39.200000 NaN 151.275452
2014-11-14 08:53:39.400000 NaN 151.305099
2014-11-14 08:53:39.600000 NaN 151.373505
2014-11-14 08:53:39.800000 NaN 151.510956
2014-11-14 08:53:40 NaN 151.495453
2014-11-14 08:53:40.200000 NaN 151.504013
2014-11-14 08:53:40.400000 NaN 151.510498
2014-11-14 08:53:40.600000 NaN 151.520660
2014-11-14 08:53:40.800000 NaN 151.527527
2014-11-14 08:53:41 NaN 151.509903
2014-11-14 08:53:41.200000 NaN 151.517151
2014-11-14 08:53:41.400000 NaN 151.508804
2014-11-14 08:53:41.600000 NaN 151.522690
2014-11-14 08:53:41.800000 NaN 151.514221
... ... ...
2014-11-14 08:56:50 151.910278 151.958252
2014-11-14 08:56:50.200000 151.916077 151.923859
2014-11-14 08:56:50.400000 151.890579 151.936829
2014-11-14 08:56:50.600000 151.855530 151.963852
2014-11-14 08:56:50.800000 151.902527 151.953278
2014-11-14 08:56:51 151.907196 151.949341
2014-11-14 08:56:51.200000 151.910934 151.902222
2014-11-14 08:56:51.400000 151.886581 151.940430
2014-11-14 08:56:51.600000 151.863297 151.935806
2014-11-14 08:56:51.800000 151.904694 151.946365
2014-11-14 08:56:52 151.902847 151.958618
2014-11-14 08:56:52.200000 151.907623 151.965530
2014-11-14 08:56:52.400000 151.893250 151.963501
2014-11-14 08:56:52.600000 151.905945 151.959183
2014-11-14 08:56:52.800000 151.897217 151.953659
2014-11-14 08:56:53 151.900253 151.949524
2014-11-14 08:56:53.200000 151.898712 151.928665
2014-11-14 08:56:53.400000 151.903351 151.966568
2014-11-14 08:56:53.600000 151.904602 151.964249
2014-11-14 08:56:53.800000 151.905151 151.963409
2014-11-14 08:56:54 151.918350 151.972168
2014-11-14 08:56:54.200000 151.908569 151.968689
2014-11-14 08:56:54.400000 151.910950 151.964981
2014-11-14 08:56:54.600000 151.909729 151.962097
2014-11-14 08:56:54.800000 151.906937 151.942368
2014-11-14 08:56:55 151.906342 151.940247
2014-11-14 08:56:55.200000 151.877335 151.939713
2014-11-14 08:56:55.400000 151.904160 151.939621
2014-11-14 08:56:55.600000 151.905685 151.960938
2014-11-14 08:56:55.800000 151.901932 151.925949

1000 rows × 2 columns


In [13]:
plt.plot(motores[['busCurrent_m1','busCurrent_m2']])
plt.savefig('busCurrent.png',dpi=300)


<matplotlib.figure.Figure at 0x7f4183178410>

In [22]:
motores.resample('1s')


Out[22]:
currentSP_m1 velocitySP_m1 idcSP_m1 miscSP_m1 busVoltage_m1 busCurrent_m1 velocityMs_m1 motorRpm_m1 pcCurrent_m1 pbCurrent_m1 ... 1.9v_m2 3.3v_m2 motorTemp_m2 dspTemp_m2 phaseaTemp_m2 phasebTemp_m2 phasecTemp_m2 cantranserr_m2 canrecerr_m2 slipSpeed_m2
time
2014-11-14 08:53:36 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... 1.852568 3.314380 22.153625 22.308737 0 0 20.277434 0 0 99.999992
2014-11-14 08:53:37 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... 1.852575 3.314310 22.153625 22.310806 0 0 20.279411 0 0 99.999992
2014-11-14 08:53:38 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... 1.852823 3.314493 22.153625 22.300461 0 0 20.279411 0 0 99.999992
2014-11-14 08:53:39 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... 1.852744 3.314673 22.153625 22.300461 0 0 20.279411 0 0 99.999992
2014-11-14 08:53:40 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... 1.852792 3.314373 22.153625 22.300461 0 0 20.279411 0 0 99.999992
2014-11-14 08:53:41 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... 1.852833 3.314641 22.153625 22.290115 0 0 20.279411 0 0 99.999992
2014-11-14 08:53:42 0 4000 1 0 151.492609 0 0.000000 0.000000 0 0 ... 1.852653 3.314671 22.153625 22.310806 0 0 20.289307 0 0 99.999992
2014-11-14 08:53:43 0 4000 1 0 151.516803 0 0.000000 0.000000 0 0 ... 1.852705 3.314522 22.153625 22.310806 0 0 20.289307 0 0 99.999992
2014-11-14 08:53:44 0 4000 1 0 151.518469 0 0.000000 0.000000 0 0 ... 1.852708 3.314593 22.153625 22.314946 0 0 20.291286 0 0 99.999992
2014-11-14 08:53:45 0 4000 1 0 151.525372 0 0.000000 0.000000 0 0 ... 1.852764 3.314705 22.153625 22.329436 0 0 20.299202 0 0 99.999992
2014-11-14 08:53:46 0 4000 1 0 151.513458 0 0.000000 0.000000 0 0 ... 1.852794 3.314707 22.153625 22.323228 0 0 20.299202 0 0 99.999992
2014-11-14 08:53:47 0 4000 1 0 151.522226 0 0.000000 0.000000 0 0 ... 1.852753 3.314453 22.153625 22.327365 0 0 20.299202 0 0 99.999992
2014-11-14 08:53:48 0 4000 1 0 151.527157 0 0.000000 0.000000 0 0 ... 1.852890 3.314661 22.153625 22.310806 0 0 20.299202 0 0 99.999992
2014-11-14 08:53:49 0 4000 1 0 151.531387 0 0.000000 0.000000 0 0 ... 1.852923 3.314721 22.153625 22.310806 0 0 20.301181 0 0 99.999992
2014-11-14 08:53:50 0 4000 1 0 151.532727 0 0.000000 0.000000 0 0 ... 1.852919 3.314639 22.153625 22.314946 0 0 20.309097 0 0 99.999992
2014-11-14 08:53:51 0 4000 1 0 151.529098 0 0.000000 0.000000 0 0 ... 1.852812 3.314531 22.153625 22.329436 0 0 20.309097 0 0 99.999992
2014-11-14 08:53:52 0 4000 1 0 151.527701 0 0.000000 0.000000 0 0 ... 1.852875 3.314624 22.153625 22.321159 0 0 20.311076 0 0 99.999992
2014-11-14 08:53:53 0 4000 1 0 151.534585 0 0.000000 0.000000 0 0 ... 1.852820 3.314578 22.153625 22.323228 0 0 20.318993 0 0 99.999992
2014-11-14 08:53:54 0 4000 1 0 151.534695 0 0.000000 0.000000 0 0 ... 1.852822 3.314654 22.153625 22.333574 0 0 20.318993 0 0 99.999992
2014-11-14 08:53:55 0 4000 1 0 151.552603 0 0.000000 0.000000 0 0 ... 1.852808 3.314620 22.153625 22.343921 0 0 20.320972 0 0 99.999992
2014-11-14 08:53:56 0 4000 1 0 151.538873 0 0.000000 0.000000 0 0 ... 1.852709 3.314516 22.324449 22.350132 0 0 20.328888 0 0 99.999992
2014-11-14 08:53:57 0 4000 1 0 151.533160 0 0.000000 0.000000 0 0 ... 1.852779 3.314530 22.836920 22.345990 0 0 20.328888 0 0 99.999992
2014-11-14 08:53:58 0 4000 1 0 151.535162 0 0.000000 0.000000 0 0 ... 1.852791 3.314484 22.153625 22.362549 0 0 20.332846 0 0 99.999992
2014-11-14 08:53:59 0 4000 1 0 151.525815 0 0.000000 0.000000 0 0 ... 1.852698 3.314474 22.153625 22.366690 0 0 20.338783 0 0 99.999992
2014-11-14 08:54:00 0 4000 1 0 151.535803 0 0.000000 0.000000 0 0 ... 1.852669 3.314481 22.153625 22.372902 0 0 20.340762 0 0 99.999992
2014-11-14 08:54:01 0 4000 1 0 151.543713 0 0.000000 0.000000 0 0 ... 1.852606 3.314274 22.153625 22.377043 0 0 20.348679 0 0 99.999992
2014-11-14 08:54:02 0 4000 1 0 151.538342 0 0.000000 0.000000 0 0 ... 1.852651 3.314306 22.153625 22.379114 0 0 20.348679 0 0 99.999992
2014-11-14 08:54:03 0 4000 1 0 151.533563 0 0.000000 0.000000 0 0 ... 1.852778 3.314512 22.153625 22.372902 0 0 20.348679 0 0 99.999992
2014-11-14 08:54:04 0 4000 1 0 151.533957 0 0.000000 0.000000 0 0 ... 1.852715 3.314500 22.153625 22.377043 0 0 20.352637 0 0 99.999992
2014-11-14 08:54:05 0 4000 1 0 151.532120 0 0.000000 0.000000 0 0 ... 1.852742 3.314650 22.153625 22.374973 0 0 20.354616 0 0 99.999992
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
2014-11-14 20:27:14 0 2000 1 0 152.541656 0 -0.093193 -3.236085 0 0 ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2014-11-14 20:27:15 0 2000 1 0 152.541656 0 -0.093193 -3.236085 0 0 ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2014-11-14 20:27:16 0 2000 1 0 152.541656 0 -0.093193 -3.236085 0 0 ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2014-11-14 20:27:17 0 2000 1 0 152.541656 0 -0.093193 -3.236085 0 0 ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2014-11-14 20:27:18 0 2000 1 0 152.541656 0 -0.093193 -3.236085 0 0 ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2014-11-14 20:27:19 0 2000 1 0 152.541656 0 -0.093193 -3.236085 0 0 ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2014-11-14 20:27:20 0 2000 1 0 152.541656 0 -0.093193 -3.236085 0 0 ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2014-11-14 20:27:21 0 2000 1 0 152.541656 0 -0.093193 -3.236085 0 0 ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2014-11-14 20:27:22 0 2000 1 0 152.541656 0 -0.093193 -3.236085 0 0 ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2014-11-14 20:27:23 0 2000 1 0 152.541656 0 -0.093193 -3.236085 0 0 ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2014-11-14 20:27:24 0 2000 1 0 152.541656 0 -0.093193 -3.236085 0 0 ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2014-11-14 20:27:25 0 2000 1 0 152.541656 0 -0.093193 -3.236085 0 0 ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2014-11-14 20:27:26 0 2000 1 0 152.541656 0 -0.093193 -3.236085 0 0 ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2014-11-14 20:27:27 0 2000 1 0 152.541656 0 -0.093193 -3.236085 0 0 ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2014-11-14 20:27:28 0 2000 1 0 152.541656 0 -0.093193 -3.236085 0 0 ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2014-11-14 20:27:29 0 2000 1 0 152.541656 0 -0.093193 -3.236085 0 0 ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2014-11-14 20:27:30 0 2000 1 0 152.541656 0 -0.093193 -3.236085 0 0 ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2014-11-14 20:27:31 0 2000 1 0 152.541656 0 -0.093193 -3.236085 0 0 ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2014-11-14 20:27:32 0 2000 1 0 152.541656 0 -0.093193 -3.236085 0 0 ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2014-11-14 20:27:33 0 2000 1 0 152.541656 0 -0.093193 -3.236085 0 0 ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2014-11-14 20:27:34 0 2000 1 0 152.541656 0 -0.093193 -3.236085 0 0 ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2014-11-14 20:27:35 0 2000 1 0 152.541656 0 -0.093193 -3.236085 0 0 ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2014-11-14 20:27:36 0 2000 1 0 152.541656 0 -0.093193 -3.236085 0 0 ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2014-11-14 20:27:37 0 2000 1 0 152.541656 0 -0.093193 -3.236085 0 0 ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2014-11-14 20:27:38 0 2000 1 0 152.541656 0 -0.093193 -3.236085 0 0 ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2014-11-14 20:27:39 0 2000 1 0 152.541656 0 -0.093193 -3.236085 0 0 ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2014-11-14 20:27:40 0 2000 1 0 152.541656 0 -0.093193 -3.236085 0 0 ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2014-11-14 20:27:41 0 1600 1 0 152.541656 0 -0.093193 -3.236085 0 0 ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2014-11-14 20:27:42 0 0 1 0 152.541656 0 -0.093193 -3.236085 0 0 ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2014-11-14 20:27:43 0 0 1 0 152.541656 0 -0.093193 -3.236085 0 0 ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN

41648 rows × 56 columns


In [23]:
len(motores.index)


Out[23]:
208237

In [24]:
motores[['busVoltage_m1','busCurrent_m1']].ix['2014-11-14 09:30':'2014-11-14 10:30'].plot()


Out[24]:
<matplotlib.axes._subplots.AxesSubplot at 0x7f86940f6a50>

In [18]:
from bokeh.plotting import *
import ext_datos
output_notebook()
#prepare some data
# output to static HTML file
output_file("lines.html", title="Bus Voltage")
import gc



# Plot a `line` renderer setting the color, line thickness, title, and legend value.
p = figure(title="Bus Voltage",x_axis_type="datetime")
p.line(motores.index,motores['busCurrent_m1'].values, legend="current M1")
p.line(motores.index,motores['busCurrent_m2'].values, legend="current M2",color='red')
gc.collect()
show(p)


BokehJS successfully loaded.

Warning: BokehJS previously loaded


In [17]:


In [51]:
motoresTest=motores.dropna()

In [52]:
motoresTest=motoresTest[['busCurrent_m1','busCurrent_m2']]

In [53]:
motor1=motoresTest['busCurrent_m1']
motor2=motoresTest['busCurrent_m2']

In [17]:
del(motoresTest)

In [18]:
del(data)

In [19]:
del (motor1f)
del(motor2f)

In [91]:
from sklearn import linear_model

In [92]:
motor1test=motor1[:len(motor1)/2]
motor2test=motor2[:len(motor2)/2]
motor1val=motor1[len(motor1)/2:]
motor2val=motor2[len(motor2)/2:]

In [93]:
xx = motor1test.reshape((motor1test.shape[0],-1))
yy = motor2test.reshape((motor2test.shape[0],-1))
xt = motor1val.reshape((motor1val.shape[0],-1))
yt = motor2val.reshape((motor2val.shape[0],-1))

In [94]:
regr = linear_model.LinearRegression()

In [95]:
regr.fit(xx,yy)


Out[95]:
LinearRegression(copy_X=True, fit_intercept=True, normalize=False)

In [100]:
print(regr.coef_,regr.intercept_)


(array([[ 0.82745463]]), array([-0.28916653]))

In [97]:
np.mean((regr.predict(xt)-yt)**2)


Out[97]:
1.5039727491311823

In [98]:
regr.score(xt, yt)


Out[98]:
0.85439433705889456

In [101]:
plt.scatter(xx,yy,  color='black')
plt.plot(xt, regr.predict(xt), color='blue',linewidth=3)

plt.show()



In [99]:
regr.get_params(deep=True)


Out[99]:
{'copy_X': True, 'fit_intercept': True, 'normalize': False}

In [ ]: