0

我的电极尖峰时间如下:

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的时间仓,我想把200ms到300ms之间出现的尖峰放到这些时间仓中,“nan”表示没有尖峰。所以我想把200ms之间出现的尖峰-202ms 到一个时间箱,如果在 202ms-204ms 之间没有尖峰,则将 0 放在那里,依此类推。

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

4

1 回答 1

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])
于 2013-10-09T12:05:58.700 回答