我有一个记录不同星期的数据集和特定一周的新登革热病例,我应该计算每周的感染率和恢复率。感染率可以通过将新感染患者的数量除以该周的易感人群来计算,而恢复率可以通过将新恢复的患者的数量除以该周的感染人群来计算。感染率相对简单,但对于恢复率,我必须考虑到感染的病人需要2周才能恢复并且我被困住了。任何帮助将不胜感激
t_pop = 4*10**6
s_pop = t_pop
i_pop = 0
r_pop = 0
weeks = 0
#Infection Rate
for index, row in data.iterrows():
new_i = row['New Cases']
s_pop -= new_i
weeks += 1
infection_rate = float(new_i)/float(s_pop)
print('Week', weeks, ':' ,infection_rate)
*注意:t_pop是指总人口,我们假设为400万,s_pop是指有感染登革热风险的人群,i_pop是指感染人群
答案 0 :(得分:0)
您可以创建一个字典来存储每周的数据,然后使用它来引用您需要计算恢复率的时间。例如:
dengue_dict = {}
dengue_dict["Week 1"] = {"Infection Rate": infection_rate, "Recovery Rate": None}
我最初没有使用,因为在至少两周过去之前没有恢复率。之后,您可以更新周或直接添加它们。以下是第3周的示例:
recovery_rate = dengue_dict["Week 1"]["Infection Rate"]/infection_rate
然后更新字典中的条目:
dengue_dict["Week 3"]["Recovery Rate"] = recovery_rate