Python 将数字信号平滑转换为模拟信号但保留峰值
Python smooth digital signal into analog but retain peaks
我有一个 pandas 系列,主要是零和一些零,我想“创造尾巴”或“平滑”那些,但我缺少所需的统计背景来表达我的意思想google吧。
用代码表示,我有source
,想把它变成target
source = pd.Series([0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0])
target = pd.Series([0.0, 1.0, 0.7, 0.4, 0.1, 0.0, 0.0, 1.0, 0.7, 0.4, 0.1, 1.0, 0.7, 0.4])
source.plot(drawstyle="steps-pre")
target.plot(drawstyle="steps-pre")
蓝线是源,橙色是目标
这个操作是怎么调用的?在 pandas/numpy/scipy
中如何操作的奖励积分
这是一个卷积:涉及两个函数。一个是您的原始数据,另一个称为“内核”或“过滤器”。在你的例子中,内核是 [1.0, 0.7, 0.4, 0.1]。将两者相乘,同时逐级偏移核得到结果。在“数字过滤”的一般主题下可以找到比蛮力更有效的算法。
我有一个 pandas 系列,主要是零和一些零,我想“创造尾巴”或“平滑”那些,但我缺少所需的统计背景来表达我的意思想google吧。
用代码表示,我有source
,想把它变成target
source = pd.Series([0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0])
target = pd.Series([0.0, 1.0, 0.7, 0.4, 0.1, 0.0, 0.0, 1.0, 0.7, 0.4, 0.1, 1.0, 0.7, 0.4])
source.plot(drawstyle="steps-pre")
target.plot(drawstyle="steps-pre")
蓝线是源,橙色是目标
这个操作是怎么调用的?在 pandas/numpy/scipy
中如何操作的奖励积分这是一个卷积:涉及两个函数。一个是您的原始数据,另一个称为“内核”或“过滤器”。在你的例子中,内核是 [1.0, 0.7, 0.4, 0.1]。将两者相乘,同时逐级偏移核得到结果。在“数字过滤”的一般主题下可以找到比蛮力更有效的算法。