【发布时间】:2021-06-27 01:22:22
【问题描述】:
鉴于 Pandas DataFrame 中以前的日期时间值(作为索引或列中的值),有没有办法根据以前的固定增量“自动填充”剩余时间增量?
例如,给定:
import pandas as pd
import numpy as np
df = pd.DataFrame({'B': [0, 1, 2, np.nan, 4]},
index = [pd.Timestamp('20130101 09:00:00'),
pd.Timestamp('20130101 09:00:05'),
pd.Timestamp('20130101 09:00:10'),
np.nan,
np.nan])
我想应用一个函数来产生:
| B | |
|---|---|
| 2013-01-01 09:00:00 | 0.0 |
| 2013-01-01 09:00:05 | 1.0 |
| 2013-01-01 09:00:10 | 2.0 |
| 2013-01-01 09:00:15 | NaN |
| 2013-01-01 09:00:20 | 4.0 |
我缺少最后两个数据点的时间步长。在这里,时间步长固定为 5 秒增量。
这将用于数千行。虽然我可能会 reset_index 然后创建一个应用于每一行的函数,但这似乎很麻烦。有没有我找不到的巧妙或内置的方法来做到这一点?
【问题讨论】:
-
这不是 5 秒的间隔(不是分钟)吗?另外,我不清楚您要用来填充缺失时间间隔的逻辑。例如,如果采样是混合的,例如5秒、15秒、10秒等
-
@Alexander,将 5 秒修正为 5 分钟,但为了演示,两者都可以。这也适用于固定采样。我将添加明确说明的语言。
标签: python pandas datetime time-series