Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 非常简单的信号处理_Python_Numpy - Fatal编程技术网

Python 非常简单的信号处理

Python 非常简单的信号处理,python,numpy,Python,Numpy,我正在处理这样一个非常简单的信号: import numpy as np series = np.random.random(20) blind = np.zeros(series.size) for ii in np.arange(blind.size-1): if series[ii+1]-series[ii]>0.4: blind[ii] = 1 然而,这看起来一点都不象Numpythonic!如何使用Numpy方式重写代码 blind[series[1

我正在处理这样一个非常简单的信号:

import numpy as np

series = np.random.random(20)
blind = np.zeros(series.size)

for ii in np.arange(blind.size-1):
    if series[ii+1]-series[ii]>0.4:
        blind[ii] = 1
然而,这看起来一点都不象Numpythonic!如何使用Numpy方式重写代码

blind[series[1:] - series[:-1] > 0.4] = 1
或遵循来自tk的建议

blind[np.diff(series) > 0.4] = 1
关键的一点是使用(即,使用布尔数组索引)而不是循环和if语句

或遵循来自tk的建议

blind[np.diff(series) > 0.4] = 1
关键的一点是,您使用(即使用布尔数组索引)而不是循环和if语句。

您的意思是? np.diff(series)>0.4

你的意思是什么?
np.diff(系列)>0.4

完全正确!非常感谢你!确切地非常感谢你!谢谢你的例子!我一直在寻找这样一个简洁的解决方案!它看起来漂亮多了;-)谢谢你的例子!我一直在寻找这样一个简洁的解决方案!它看起来漂亮多了;-)