Python 填充不满足最小间隔的数据帧

Python 填充不满足最小间隔的数据帧,python,pandas,Python,Pandas,我有一系列的数据,大约间隔2到3分钟。有时,由于有人关闭了监控软件,数据中会出现巨大的空白,比如说几个小时,如果丢失数据的间隔超过5分钟,我想用无效的标记来填补这些空白,这样我就可以相应地显示数据。我该怎么做 编辑:例如 Time a b c d 12:01 1 1 0 1 12:10 1 0 0 0 差不多 Time a b c d 12:01 1 1 0 1 12:06 -1 -1 -1 -1 or None or NaN 12:10 1 0 0 0 因此,图形中没有数据的部分将变灰,而

我有一系列的数据,大约间隔2到3分钟。有时,由于有人关闭了监控软件,数据中会出现巨大的空白,比如说几个小时,如果丢失数据的间隔超过5分钟,我想用无效的标记来填补这些空白,这样我就可以相应地显示数据。我该怎么做

编辑:例如

Time a b c d
12:01 1 1 0 1
12:10 1 0 0 0
差不多

Time a b c d
12:01 1 1 0 1
12:06 -1 -1 -1 -1 or None or NaN
12:10 1 0 0 0
因此,图形中没有数据的部分将变灰,而不是简单地连接不连续的数据


不确定无效符号应该是什么,熊猫喜欢什么,或者什么能与绘图库很好地协同工作

我假设您希望每隔几分钟使用一次
NaN
,而不是只在间隙中添加一个
NaN
,并且您不介意在没有间隙的地方添加
NaN
,只要它们也被添加到间隙中。如果此解决方案符合您的要求,请告知我:

# Imports

from datetime import datetime

import numpy as np
import pandas as pd

# Setup

initial_index = [datetime(2014,4,21,12,x) for x in [0,5,8,14,18,21,25]]
columns = ['A','B','C','D']

df = pd.DataFrame(np.random.randn(7,4), index=initial_index, columns=columns)

# The actual solution

regular_interval_index = pd.date_range('12:00:00', '13:00:00', freq='5Min')

df_reindexed  = df.reindex(df.index + regular_interval_index)
区别在于:

print df
                            A         B         C         D
2014-04-21 12:00:00  0.422272  0.539352 -0.401912  0.163993
2014-04-21 12:05:00  0.896098 -0.396894 -1.356148  0.724784
2014-04-21 12:08:00 -0.882721 -0.820098  0.154705 -0.706515
2014-04-21 12:14:00 -0.008495 -0.326866  1.115965 -1.559558
2014-04-21 12:18:00  0.117228  0.030347  1.049639 -0.536378
2014-04-21 12:21:00 -0.762874 -1.592967 -0.088216 -0.897630
2014-04-21 12:25:00 -0.483685  1.298545 -0.008885 -0.481165

[7 rows x 4 columns]

print df_reindexed
                            A         B         C         D
2014-04-21 12:00:00  0.422272  0.539352 -0.401912  0.163993
2014-04-21 12:05:00  0.896098 -0.396894 -1.356148  0.724784
2014-04-21 12:08:00 -0.882721 -0.820098  0.154705 -0.706515
2014-04-21 12:10:00       NaN       NaN       NaN       NaN
2014-04-21 12:14:00 -0.008495 -0.326866  1.115965 -1.559558
2014-04-21 12:15:00       NaN       NaN       NaN       NaN
2014-04-21 12:18:00  0.117228  0.030347  1.049639 -0.536378
2014-04-21 12:20:00       NaN       NaN       NaN       NaN
2014-04-21 12:21:00 -0.762874 -1.592967 -0.088216 -0.897630
2014-04-21 12:25:00 -0.483685  1.298545 -0.008885 -0.481165
2014-04-21 12:30:00       NaN       NaN       NaN       NaN
2014-04-21 12:35:00       NaN       NaN       NaN       NaN
2014-04-21 12:40:00       NaN       NaN       NaN       NaN
2014-04-21 12:45:00       NaN       NaN       NaN       NaN
2014-04-21 12:50:00       NaN       NaN       NaN       NaN
2014-04-21 12:55:00       NaN       NaN       NaN       NaN
2014-04-21 13:00:00       NaN       NaN       NaN       NaN

[17 rows x 4 columns]

我想我需要这张图表在南区分开,所以没有差距的南区可能会有问题。我不这么认为。无论数据帧是否包含
NaN
,12:08:00和12:14:00之间都没有数据。现在我想了想,在再次阅读了你的问题之后,我不确定你是否需要这个。你到底想做什么,怎么办它不起作用?示例代码将很有帮助。