我有一个datetime索引的DataFrame,我希望根据列替换不同的datetime值范围。存储这些值的数据帧如下所示
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
...
目前,我在df2
索引上使用一个for
循环,然后按如下方式切片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
...
进行这种切片替换的最佳方法是什么?你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐