简体   繁体   English

非常简单的信号处理

[英]very simple Signal Processing

I am processing a very simple signal like this: 我正在处理一个非常简单的信号,如下所示:

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

However, this does not look Numpythonic at all! 但是,这看起来根本不是Numpythonic! How can I rewrite the code to use the Numpy-way? 如何重写代码以使用Numpy-way?

You mean something like ? 你的意思是? np.diff(series)>0.4 np.diff(系列)> 0.4

blind[series[1:] - series[:-1] > 0.4] = 1

or following suggestion from tk 或遵循tk建议

blind[np.diff(series) > 0.4] = 1

The key point being that you use boolean/logical indexing (ie indexing with a boolean array) instead of a loop and an if statement. 关键是您使用布尔/逻辑索引 (即使用布尔数组进行索引)而不是循环和if语句。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM