【发布时间】:2020-03-28 13:52:45
【问题描述】:
我有一组这样的列表:
listoflists = ['list1','list2']
list1_start = pd.DataFrame([1,6,11,24,33,45,55])
list1_end = pd.DataFrame([2,8,15,26,37,48,90])
list2_start = pd.DataFrame([5,9,44,72])
list2_end = pd.DataFrame([7,17,52,80])
我想在开始和结束列表之间创建一个新的数字列表:
预期结果:
list1_duration = [1,1.5,2,6,6.5,7,7.5,8,11,11.5,12,12.5,13,13.5,14,14.5,15....
list2_dutation = [5.5,6,6.5,7,9,9.5,10,10.5,11,11.5,12,12.5,13,13.5,14,14.5,15,15.5,16,16.6,17...
我试图找出两者之间的差异,然后为那些我可以添加回起始列表的差异创建一个范围,但我设法得到的只是一个范围列表,这也只是一个列表和我不知道如何遍历列表列表中的所有列表(尝试过,但失败了)。
list1_dif = (list1_end)-(list1_start)
list1_dif = list1_dif[0].tolist()
list1_dur = []
for i in range(len(list1_dif)):
command = ''
command = 'list1_dur.append(list(range('+str(list1_dif[i])+')))'
exec(command)
list1_duration = list1_dur + list1_start
print(list1_dur)
输出:
[[0], [0, 1], [0, 1, 2, 3], [0, 1], [0, 1, 2, 3], [0, 1, 2], [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34]]
谁能帮我解决这个问题?
谢谢,
杰利
【问题讨论】:
-
请详细说明您希望
listX_duration的样子。给定的预期结果尚不清楚 -
谢谢您的回复!应该是listX_start的第一个数字和listX_end的第一个数字之间的数字,然后是listX_start的第二个数字和listX_end的第二个数字之间的数字,以此类推。基本上我所拥有的是当某物变得活跃并停止活跃时的时间点,我想要它们何时活跃的时间点。
-
对于您的 list1_duration,在您的示例中是否应该包含 15.5 和 16?而对于 list2_duration,它应该包含 6.4 吗?
-
对不起!不,不应该!