小编Tom*_*Tom的帖子

如何平滑仅在某些部分具有大噪声的曲线?

我想平滑如下所示的散点图(点非常密集),数据在这里

在此处输入图片说明

曲线的中间有很大的噪声,我想使曲线平滑,而且y值也应单调增加

由于存在许多这样的曲线,因此很难知道噪声在曲线中的位置。

我尝试过scipy.signal.savgol_filter,但是没有用。

我使用的代码是:

from scipy.signal import savgol_filter
from scipy import interpolate
import numpy as np
import matplotlib.pyplot as plt

s = np.loadtxt('data.csv', delimiter=',')
x = s[:, 0]
y = s[:, 1]
yhat = savgol_filter(y, 551, 3)

plt.plot(x, y, 'r')
plt.plot(x, yhat, 'b')
plt.show()
Run Code Online (Sandbox Code Playgroud)

建议真的很感激。谢谢!

-------------------更新-------------------------

按照Colin的方法,我得到了想要的结果。这是代码:

from scipy.signal import savgol_filter
from scipy import interpolate
import numpy as np
import matplotlib.pyplot as plt

s = np.loadtxt('data.csv', delimiter=',')
x = s[:, 0]
y = …
Run Code Online (Sandbox Code Playgroud)

python numpy data-processing scipy smoothing

4
推荐指数
1
解决办法
351
查看次数

Python将变长列表写入txt文件

我想将列表输出到具有格式的txt文件中。但列表长度会不时发生变化。

代码是这样的:

a = [1, 2, 3] #**but this could also be: a = [1, 2, 3, 6, 9] or [1, 90]**
with open('node.k','w') as file:
    file.write(((len(a)-1)*'{},'+'{}\n').format(a[0],a[1],a[2]))
Run Code Online (Sandbox Code Playgroud)

我想知道应该如何修改这段代码,以便该代码可以适用于不同的列表长度?

python format list output

2
推荐指数
1
解决办法
742
查看次数

标签 统计

python ×2

data-processing ×1

format ×1

list ×1

numpy ×1

output ×1

scipy ×1

smoothing ×1