我正在尝试运行一个简单的计数函数,该函数针对另一个轮班时间帧的数据帧运行事件时间(特别是手术)的数据帧,并返回每个轮班期间发生多少事件的列表。不过,这些 csv 有数千行,所以虽然我设置它的方式目前有效,但它需要很长时间。这就是我所拥有的:
numSurgeries = [0 for shift in range(len(df.Date))]
for i in range(len(OR['PATIENT_IN_ROOM_DTTM'])):
for shift in range(len(df.DateTime)):
if OR['PATIENT_IN_ROOM_DTTM'][i] >= df.DateTime[shift] and OR['PATIENT_IN_ROOM_DTTM'][i] < df.DateTime[shift+1]:
numSurgeries[shift] += 1
因此,它遍历每个事件并检查它在哪个班次时间范围内,然后增加该时间范围内的计数。合乎逻辑,有效,但绝对没有效率。
编辑: