0

我有一个元组列表,如下所示,间隔类型。

[(Interval('2020-06-10 16:00:00', '2020-06-11 02:00:00', closed='neither'),
  Interval('2020-06-11 01:00:00', '2020-06-11 05:00:00', closed='neither')),
 (Interval('2020-06-11 02:00:00', '2020-06-11 06:00:00', closed='neither'),
  Interval('2020-06-11 01:00:00', '2020-06-11 05:00:00', closed='neither')),
 (Interval('2020-06-11 01:00:00', '2020-06-11 05:00:00', closed='neither'),
  Interval('2020-06-10 16:00:00', '2020-06-11 02:00:00', closed='neither'))]

如何解压缩,删除存在的重复对并将其转换为日期时间格式作为两个单独的列以获得类似的东西?

        START_TIME             END_TIME
0   2020-06-10 16:00:00  2020-06-11 02:00:00
1   2020-06-11 02:00:00  2020-06-11 06:00:00
2   2020-06-11 01:00:00  2020-06-11 05:00:00

这更像是我想知道如何将 Interval 数据类型转换为 Datetime 和 Timestamp 格式。提前致谢!

4

1 回答 1

0

这是一个解决方案:

# flatten the list
lst = [e for x in lst for e in x]

# extract start and end time. 
df = pd.DataFrame([(t.left, t.right) for t in lst])

df.drop_duplicates(inplace = True)

# rename columns
df.columns = ["start_time", "end_time"]

输出是:

           start_time            end_time
0 2020-06-10 16:00:00 2020-06-11 02:00:00
1 2020-06-11 01:00:00 2020-06-11 05:00:00
2 2020-06-11 02:00:00 2020-06-11 06:00:00
于 2020-06-29T07:03:30.157 回答