In [20]:
import numpy as np
from scipy import signal

In [113]:
a =  [0.0,  0.5, 1,  1, 0.5,0]

In [114]:
v = np.array([
[950, 19.1896705627, 36354, 1756.08353364],
[850, 19.1997642517, 35931, 1814.82640178],
[750, 19.196187973, 35626, 1903.35942629],
[650, 19.3742542267, 35249, 2042.45238462],
[550, 19.4377803802, 34957, 2307.62051956],
[450, 19.7083377838, 34599, 2565.60730542],
[350, 19.1574268341, 35531, 1832.51903223],
[250, 19.2386646271, 35195, 1935.40388754],
[150, 19.3538646698, 34854, 2091.50045713],
[50, 19.7020626068, 34513, 2507.27835806],
[-50, 19.7284641266, 34216, 2642.11445641],
[-150, 19.3782272339, 33938, 2513.22731098],
[-250, 19.182964325, 33661, 2332.66499335],
[-350, 19.1562023163, 33423, 2156.8595173],
[-450, 19.0811309814, 33244, 2005.80851712],
[-550, 19.003030777, 33006, 1875.56561486],
[-650, 20.9142875671, 32825, 1776.31074684],
[-750, 21.9814109802, 32614, 1685.1277602],
[-850, 22.9407672882, 32497, 1611.44361927],
[-950, 23.9337043762, 32320, 1553.55391814],
])

v = v[:,1]
v

#Normalized Data
na = (a - np.mean(a)) / (np.std(a) * len(a))
nv = (v - np.mean(v)) /  np.std(v)

n = (v-min(v))/(max(v)-min(v))

In [115]:
n, len(n)


Out[115]:
(array([ 0.0378528 ,  0.03989992,  0.03917461,  0.07528859,  0.08817246,
         0.14304476,  0.03131338,  0.04778938,  0.07115334,  0.14177208,
         0.14712662,  0.07609436,  0.03649269,  0.03106503,  0.01583966,
         0.        ,  0.3876259 ,  0.60405138,  0.7986204 ,  1.        ]), 20)

In [ ]:


In [116]:
corr = np.correlate(n, template, "same")
corr, len(corr)


Out[116]:
(array([-0.00132181, -0.03538867, -0.08685065, -0.10765609,  0.01768447,
         0.01996679, -0.12801242, -0.23702745, -0.10728666,  0.01788833,
         0.03948059, -0.09674275, -0.12647359, -0.04502933, -0.40827893,
        -0.63511642, -0.42683416, -0.39594862,  0.4109945 ,  0.39594862]), 20)

In [117]:
corr = signal.correlate(n, template, mode='valid')
corr, len(corr)


Out[117]:
(array([-0.08685065, -0.10765609,  0.01768447,  0.01996679, -0.12801242,
        -0.23702745, -0.10728666,  0.01788833,  0.03948059, -0.09674275,
        -0.12647359, -0.04502933, -0.40827893, -0.63511642, -0.42683416,
        -0.39594862]), 16)

In [118]:
corr = signal.correlate(nv, na, mode='valid')
corr, len(corr)


Out[118]:
(array([-0.04914047,  0.06823424,  0.10670189,  0.02064919, -0.11157533,
        -0.1266552 ,  0.0780498 ,  0.15135176,  0.08950377, -0.03330407,
        -0.05885589, -0.30831205, -0.46208423, -0.32698462, -0.01787254]), 15)

In [119]:
corr = signal.correlate(nv, na, mode='same')
corr, len(corr)


Out[119]:
(array([-0.00097772, -0.13917516, -0.14772744, -0.04914047,  0.06823424,
         0.10670189,  0.02064919, -0.11157533, -0.1266552 ,  0.0780498 ,
         0.15135176,  0.08950377, -0.03330407, -0.05885589, -0.30831205,
        -0.46208423, -0.32698462, -0.01787254,  0.89653686,  0.90269305]), 20)

In [ ]: