war*_*nry 3 python dataframe pandas
初学者熊猫/蟒蛇用户。我在 Pandas 数据框中使用 24 小时数据,但是通常在一天的最后几分钟没有数据。
我只需要将行附加到每个文件中,直到最后一个时间戳达到 23.59,然后用数据向前填充最后几分钟。所以这:
19-12-2016 00:00 2 0.003232323
...
19-12-2016 23:53 2 0.002822919
19-12-2016 23:54 4 0.002822919
19-12-2016 23:55 1 0.002822919
Run Code Online (Sandbox Code Playgroud)
变成:
19-12-2016 00:00 2 0.003232323
...
19-12-2016 23:53 2 0.002822919
19-12-2016 23:54 4 0.002822919
19-12-2016 23:55 1 0.002822919
19-12-2016 23:56 1 0.002822919
19-12-2016 23:57 1 0.002822919
19-12-2016 23:58 1 0.002822919
19-12-2016 23:59 1 0.002822919
Run Code Online (Sandbox Code Playgroud)
不幸的是,我为此使用的代码真的很长,我无法准确指出我可以在哪里修改它。
你可以:
reindex 您的数据作为
idx = pd.date_range('2016-12-19', periods=1440, freq='T')
df = df.reindex(idx)
Run Code Online (Sandbox Code Playgroud)
然后使用向前填充任何缺失值 df.mycol.ffill()
针对单个帧中多天数据的通用解决方案可能如下所示。获取开始日期和结束日期,然后reindex获取整个框架并填写缺失的值。
start = df.index.min().date()
end = df.index.max().date() + pd.Timedelta(1, 'D')
df.reindex(pd.date_range(start, end, freq='T', closed='left')).fillna(method='ffill')
Run Code Online (Sandbox Code Playgroud)