我有下面的图形,它是一个两列数据框的图形的结果,我将其简单地绘制为
df.plot(style='o-')
编辑
我用以下方法绘制了它的运行平均值(由于以下人员的帮助):
df.rolling(5).mean()
我可以使用pandas
中的某些函数来绘制y轴在x轴上的导数吗?
我已经尝试过此处提出的解决方案:python pandas: how to calculate derivative/gradient 但这没用
答案 0 :(得分:1)
您想要的不是“平均”,而是“平滑”或“回归”,对于这些术语,google可以为您带来更多的相关结果。
对于您的问题,Savitzky–Golay filter可能是一个很好的工具,它可以“通过用低次多项式拟合相邻数据点的连续子集来进行卷积”。
在Python中,您可以使用scippy.signal.savgol_filter来获取平滑点。
不过,导数会比较棘手,一种变通方法是计算
卷积信号(点)的斜率。
答案 1 :(得分:1)
就像已经解释过的,它暗示您要应用相同类型的过滤器,而不是求平均值(在您的情况下应返回数字)。首先,您可以尝试做一个简单的移动平均线:
df.rolling(5).mean()
5是窗口。