下面是我的代码,需要很长时间才能执行。如何在Python的列表理解中实现它以提高速度和效率?
buildings=[]
for bi in range(1449):
for si in range (16):
for m in range(3):
a= train[(train['building_id']==bi)&(train['site_id']==si)&(train['meter']==m)]
if not a.empty:
buildings.append(a.values)
最佳答案
没有样本数据很难说这是否正确,但是从理论上讲应该可以:
buildings = [
x for x in
[
train[(train['building_id']==bi)&(train['site_id']==si)&(train['meter']==m)].values
for bi in range(1449)
for si in range(16)
for m in range(3)
]
if not x.empty
]
关于python - 使用嵌套列表理解提高执行速度,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59076224/