2013-10-09 23 views
0

我有从电极尖峰时间如下:把尖峰定时以时间块中的阵列,在python

array([ 11.  , 0.22825, 0.29775,  nan,  nan,  nan, 
      nan,  nan,  nan,  nan,  nan,  nan, 
      nan,  nan,  nan,  nan,  nan,  nan, 
      nan,  nan,  nan,  nan,  nan,  nan, 
      nan]) 

11是电极数,我选择2ms的的时间bin和我想把在这些时间段内出现200ms到300ms之间的尖峰,“nan”表示没有尖峰。所以我想把尖峰发生在200ms-202ms到一个时间间隔之间,如果在202ms-204ms之间没有尖峰, 0那里等等。

有必要找到一种可以缩放的方法,例如,如果我想将时间段更改为4ms并且应该完成一个参数。这看起来很复杂,但我认为也许Python专家有非常快速的解决方案。我会感谢任何帮助,建议。提前致谢。

+0

什么是你想在这里输出? – Vivek

回答

0

numpy.histogram似乎做你想要什么:

>>> arr = numpy.array([11., 0.22825, 0.29775]) 
>>> bins, _ = numpy.histogram(arr[1:], bins=numpy.linspace(0.2, 0.3, 101)) 
>>> bins 
array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, 0, 0, 1, 0, 0])