Python 如何从一系列时间范围创建随时间变化的累积计数图?
我有一份进出房间的记录Python 如何从一系列时间范围创建随时间变化的累积计数图?,python,datetime,plot,Python,Datetime,Plot,我有一份进出房间的记录 我正试图按分钟确定一个房间里有多少人 然后,绘制一张随时间变化的房间里的人的图表 样本数据: data = {'Person': ['A','B','C'], 'Enter': ['11:14:22','11:15:46','11:16:22'], 'Leave': ['11:16:40','11:18:21','11:18:22'], } df = pd.DataFrame (data, columns = ['P
- 我正试图按分钟确定一个房间里有多少人
- 然后,绘制一张随时间变化的房间里的人的图表
data = {'Person': ['A','B','C'],
'Enter': ['11:14:22','11:15:46','11:16:22'],
'Leave': ['11:16:40','11:18:21','11:18:22'],
}
df = pd.DataFrame (data, columns = ['Person','Enter','Leave'])
进入:
11:13-0(空)
11:14-1(仅限A人)
11:15-2(A+B)
11:16-3(C加A+B)
11:17-2(A左,房间内仅B+C)
11:18-2(相同)
11:19-0(空)
我想我可以用方框图(第二部分)来绘图,但我很难确定(或转换时间范围)每分钟房间里有多少人。任何建议都将不胜感激。基本上,我已经做了以下工作:
返回时间(atime.hour,atime.minute-1,0),时间(atime.hour,atime.minute+1,0)
def头部计数器(dff):
dur=(datetime.combine(datetime.today(),dff['Leave\u Time'].max())-datetime.combine(datetime.today(),dff['Join\u Time'].min())。总秒数()
会话中的时间={}
对于范围(0,数学单元(dur/60)+3)内的i:
_=(datetime.combine(datetime.today(),round_minute(dff['Join_Time'].min())[0])+timedelta(minutes=i)).Time()
计数器=0
对于范围内的z(0,dff.形状[0]-1):
如果(dff['Join_Time'][z]<和<
return time(atime.hour,atime.minute-1,0), time(atime.hour,atime.minute+1,0)
def headcounter(dff):
dur = (datetime.combine(datetime.today(), dff['Leave_Time'].max()) - datetime.combine(datetime.today(), dff['Join_Time'].min())).total_seconds()
time_in_session = {}
for i in range(0,math.ceil(dur/60)+3):
_ = (datetime.combine(datetime.today(), round_minute(dff['Join_Time'].min())[0]) + timedelta(minutes = i)).time()
counter = 0
for z in range(0,dff.shape[0]-1):
if (dff['Join_Time'][z] < _ and _ < dff['Leave_Time'][z]):
counter +=1
time_in_session[_] = counter
return time_in_session