我正在尝试创建一个函数来查找Pandas中的滚动导数(第一和第二)。我发现df.diff()非常方便。
我想找出滚动窗口值= 40的导数。
对于一阶导数,
noise = np.random.normal(size=int(1e4))
noise=pd.DataFrame(noise)
first_derivative=noise.diff(periods=40)如果我用这个作为二阶导数,对吗?
second_derivative=noise.diff(periods=40).diff()我很困惑,但是如果我在第二个.diff()中再次放入periods=40,那么它将是40*40滚动窗口(对于二阶导数)。谢谢!
发布于 2021-04-01 10:09:13
Pandas不是一个数学库,它的diff()操作只接受元素之间的离散差,而不是导数。
为了求导数,我建议您使用SymPy,这是一个用于符号数学的很好的Python库。有关更多详细信息,请查看documentation。
示例:
from sympy import *
>> diff(cos(x), x)
-sin(x)https://stackoverflow.com/questions/66897415
复制相似问题