查找何时值在熊猫中重复出现

时间:2018-11-23 13:59:49

标签: python pandas performance dataframe

我有两列的温度(Temp)数据框:

  • 时间
  • 温度

我还有另一个数据框(Activated),其中的一列描述了某些设备激活的时间:

  • 时间

这两个数据帧都在同一时间段内,并且每个“ TimeStamp”都存在于其中。

我想知道,在Activated数据帧中的每一次直到温度升高都经过了多长时间。

我知道如何使用“ C样式”进行操作,其中有两个for循环(一个循环访问Activated会在Temp中找到时间,然后向前循环直到找到更高的温度)。

但是我敢肯定,使用熊猫有更好,更清洁,更有效的方式。数据示例:

Temp

1 25.6
2 25.4
3 24
4 25.8
5 23.2
6 24.3
7 28.1

Activated

2
4

对于Activated中的第一行,时间为2-时间2的温度为25.4,结果应为2,因为仅在4时间到了。 对于Activated中的第二行,时间为4-时间4的温度为25.8,结果应为3,因为只有时间{{ 1}}上升了。

7的输出为2,2的输出为3

1 个答案:

答案 0 :(得分:3)

这是部分矢量化的解决方案。注意pd.Series.apply只是Python级的循环。

$(document).ready(function() {
    $('#yourTableId').DataTable();

var addressTableFilter = document.getElementById('addressTable_filter');    
addressTableFilter.firstChild.getElementsByTagName('input')[0].style.width = "400px";
addressTableFilter.firstChild.getElementsByTagName('input')[0].setAttribute('placeholder', 'Search');
addressTableFilter.firstChild.removeChild(document.getElementById('addressTable_filter').firstChild.firstChild);
});