python - 使用 Pandas .diff() 计算时间序列的二阶导数

标签 python pandas difference derivative differentiation

下面是我的 Pandas 数据框的示例,其中日期作为索引:

            A
2019-01-09  1.007042
2019-01-10  1.007465
2019-01-11  1.007054
2019-01-12  1.007154
2019-01-13  1.007854
2019-01-14  1.008560

我想确定 A 列每 2 行的二阶导数。在 Pandas 中使用 .diff() 函数两次进行此确定是否合适?

df['A2'] = df['A'].diff(2).diff(2)

最佳答案

这是一个九个月前的问题,但仍然出现在谷歌搜索该 Material 的顶部,因此保证了一个可接受的答案。如果此免责声明是不必要的,我希望有人帮我删除它。

二阶导数可以计算为中心导数、前向导数或后向导数,但根据您的示例,我认为您正在寻找后向导数。如果您愿意,可以在每一行上计算它,但是,使用 diff() 可能真的很难做到。函数 shift() 运行良好,方法如下:

df['A2'] = df['A'] - 2*df['A'].shift(1) + df['A'].shift(2)

该技术依赖于finite differences

关于python - 使用 Pandas .diff() 计算时间序列的二阶导数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54505175/

相关文章:

python - 没有 * 的 Tkinter 导入?

python - low_memory 和 memory_map 标志在 pd.read_csv 中做什么

python - pd.to_json() 中的格式数字

python - 合并多个组 ID 以形成一个合并的组 ID?

c# - C#中的字符串字符差异

couchbase - couchbase 和 couchbase lite 的区别? [以前称为 touchDB]

python - 如何从 Python 中的字典中提取所有值?

复制没有不同属性的字典的 Pythonic 方式

javascript - TypeError : expected bytes-like object, 不是 str

python - 计算两个文件的行差异的最有效方法是什么?