我有下面的图表,这是一个两列数据框的绘图结果,我只是将其绘制为
df.plot(style='o-')
编辑
我绘制了它的运行平均值(感谢下面的人的帮助):
df.rolling(5).mean()
我可以使用一些函数pandas
来绘制 y 轴在 x 轴上的导数吗?
我已经尝试过这里提出的解决方案:python pandas:如何计算导数/梯度 但它没有用
我有下面的图表,这是一个两列数据框的绘图结果,我只是将其绘制为
df.plot(style='o-')
编辑
我绘制了它的运行平均值(感谢下面的人的帮助):
df.rolling(5).mean()
我可以使用一些函数pandas
来绘制 y 轴在 x 轴上的导数吗?
我已经尝试过这里提出的解决方案:python pandas:如何计算导数/梯度 但它没有用
就像已经解释的那样,它接缝你想要应用相同类型的过滤器而不是运行平均值(在你的情况下应该返回一个数字)。首先,您可以尝试一个简单的移动平均线:
df.rolling(5).mean()
其中 5 是窗口。
您想要的可能不是“平均”,而是“平滑”或“回归”,这些术语的谷歌可以为您提供更相关的结果。
至于你的问题,Savitzky–Golay 滤波器可能是一个很好的工具,它可以“通过用低次多项式拟合相邻数据点的连续子集”来进行卷积。
在 Python 中,您可以使用scippy.signal.savgol_filter来获得平滑点。
但是,导数会更加棘手,解决方法是使用卷积信号(点)计算斜率。