在我的Django views.py中,我可能为我的Project
模型的任何给定实例构建大约50个派生时间序列;取决于其属性。只有派生属性所需的每个参数都有效,我才会将标签/ cost / start / end附加到它们对应的列表中。
为了尝试处理这个问题,我将每个计算的变量放入一个临时变量中,如果它们都有有效值,则只填充df_
部分中的else:
列表。但是,这意味着我每次都要手动清除临时变量(del cost
,del start
,del end
)。我猜有更好的方法......?!
#...
df_label=[]
df_cost=[]
df_start=[]
df_end=[]
#First potential derived elements for DataFrame
try:
cost= #custom calculation here
start= #custom calculation here
end= #custom calculation here
except:
error_message.append("Warning1")
else:
df_label.append('Label here')
df_cost.append(cost)
df_start.append(start)
df_end.append(end)
del cost
del start
del end
#Second potential derived elements for DataFrame
try:
cost= #custom calculation here
start= #custom calculation here
end= #custom calculation here
except:
error_message.append("Warning2")
else:
df_label.append('Label here')
df_cost.append(cost)
df_start.append(start)
df_end.append(end)
del cost
del start
del end
#...repeat ~50 times
#Create DataFrame from all the df_ lists
df = pd.DataFrame()
df['label']=df_label
df['cost']=df_cost
df['start']=df_start
df['end']=df_end