Python:查找时间重叠的最大数目
我有一个嵌套列表:Python:查找时间重叠的最大数目,python,overlap,period,Python,Overlap,Period,我有一个嵌套列表: [['2012 Mar 03 23:39:46', '2012 Mar 03 23:39:58'], ['2012 Mar 03 23:32:46', '2012 Mar 03 23:32:46'], ['2012 Mar 03 23:12:19', '2012 Mar 03 23:12:19'], ['2012 Mar 03 23:06:50', '2012 Mar 03 23:08:03'], ['2012 Mar 03 22:57:28', '2012 Mar 03 2
[['2012 Mar 03 23:39:46', '2012 Mar 03 23:39:58'], ['2012 Mar 03 23:32:46', '2012 Mar 03 23:32:46'], ['2012 Mar 03 23:12:19', '2012 Mar 03 23:12:19'], ['2012 Mar 03 23:06:50', '2012 Mar 03 23:08:03'], ['2012 Mar 03 22:57:28', '2012 Mar 03 22:57:28'], ['2012 Mar 03 22:47:00', '2012 Mar 03 22:47:00'], ['2012 Mar 03 22:45:45', '2012 Mar 03 22:45:45'], ['2012 Mar 03 22:37:41', '2012 Mar 03 22:37:41'], ['2012 Mar 03 22:35:15', '2012 Mar 03 22:35:15'], ...]
我想找出这些时间范围相互重叠时的最大值(例如,当有3个时间段相互重叠时,我想得到“3”)。此列表按降序排列
我写了这段代码:
counter=list()
for i in range(len(sorted_times)):
j=i
while j < len(sorted_times):
temp_counter=0
if sorted_times[i][0] <= sorted_times[j][1]:
temp_counter +=1
j +=1
else:
counter.append(temp_counter)
break
我发现了我的代码无法正常工作的原因——我应该这样写:
temp_counter=0
while j < len(sorted_times):
temp\u计数器=0
当j
而不是:
while j < len(sorted_times):
temp_counter=0
j
温度计数器=0
愚蠢的错误,我一天都看不到:(
不幸的是,我仍然没有得到与使用
pandas
相同的答案。当我使用pandas
处理更大的数据样本(超过3000个)时,我得到的答案是9
,而使用内置库我得到的答案是5
。使用time.strftime()
或不以秒为单位转换时间戳并使用pandas.to_datetime(df.timestamp,unit='s')
?我知道时区可能不同,但在这种情况下这应该不是问题。您在比较字符串,而不是日期我也使用秒为单位转换了时间戳,我得到了相同的结果。请显示尝试:-)根据您现在向我们展示的代码,很明显它为什么不起作用
while j < len(sorted_times):
temp_counter=0