我用Python设计了自己的类,如下所示:
class Main:
def __init__(self):
self.list = list() # Contains TestA objects
class TestA:
def __init__(self, start_time, end_time):
self.elements = list() # Contains TestB objects
self.start_time = start_time
self.end_time = end_time
class TestB:
def __init__(self, timestamp):
self.timestamp = timestamp
Main
类的列表包含TestA
类的对象,TestA
类的列表包含TestB
类的对象。示例如下:
testB1 = TestB(121)
testB2 = TestB(155)
testB3 = TestB(891)
testB4 = TestB(901)
testA1 = TestA(100, 200)
testA1.elements.append(testB1)
testA1.elements.append(testB2)
testA2 = TestA(500, 1000)
testA2.elements.append(testB3)
testA2.elements.append(testB4)
main = Main()
main.list.append(testA1)
main.list.append(testA2)
现在我想根据时间戳过滤对象。首先,我要检索在特定范围内具有TestA.start_time
和TestA.end_time
的所有TestA
对象。其次,我想检索所有TestB
对象,这些对象在给定范围内具有TestB.timestamps
。当然,我可以在所有TestA
和TestB
对象上循环,但是如果有很多对象,这是低效的
有没有更有效的方法
使用熊猫dataframe, 时间戳列上有索引。 然后,如果您有一百万个条目,但只请求24个匹配行, 只检查几十排
相关问题 更多 >
编程相关推荐