设置日期时间索引切片的值

时间:2016-07-01 12:07:07

标签: python datetime pandas dataframe

我有一个日期时间索引的pandas DataFrame,我希望根据列替换不同的日期时间值范围。我存储值的DataFrame如下所示,

df1

Out[1]:
                       IL15 IL09 IL06
2016-06-23 00:00:00    1    1    1
2016-06-23 00:01:00    1    1    1
2016-06-23 00:02:00    1    1    1
2016-06-23 00:03:00    1    1    1
2016-06-23 00:04:00    1    1    1
2016-06-23 00:05:00    1    1    1
...

日期范围,列标题和新值存储在此处显示的DataFrame df2中,

df2

Out[2]:
    Start                   End                    Column_Head  New_Value
0   2016-06-23 04:35:00     2016-06-23 04:50:00    IL15          0
1   2016-06-23 02:55:00     2016-06-23 05:15:00    IL09          3
3   2016-06-23 05:15:00     2016-06-23 06:00:00    IL06          5
...

目前,我在for索引上使用df2循环,然后按如下方式切片df1

for i in df2.index:
    df1.loc[df2.Start[i]:df2.End[i], (df2.IndirectCode[i])] = df2.New_Value[i]

我无法帮助,但我认为在熊猫中有更好的方法可以做到这一点。

输出看起来像这样 - 虽然不一定对所显示的数据部分是正确的。

df1

Out[1]:
                       IL15 IL09 IL06
2016-06-23 00:00:00    0    1    1
2016-06-23 00:01:00    0    1    1
2016-06-23 00:02:00    1    1    1
2016-06-23 00:03:00    1    1    5
2016-06-23 00:04:00    1    3    5
2016-06-23 00:05:00    1    3    5
...

执行此类切片替换的最佳方法是什么?

0 个答案:

没有答案