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