使用pandas分析医院人群20分钟分段就医人数

分析医院每20分钟段就医人数情况,找出医院集中就医的时间段。思路首先要对各个时间段的人员进行时间段标记,然后通过分组聚合使用count()函数统计每个时间段的人数。

首先需要导入需要的模块:

#导入模块
import pandas as pd
import numpy as np
import datetime

读取电子表格:

#导入工作簿
h_data = pd.read_excel('D:\\hospital\\时间集\\患者就诊时间.xlsx')

注意:代码中的电子表格路径根据自己的需求进行修改。

格式化时间,并提取小时、分钟。

#格式化时间
time_data = pd.to_datetime(h_data['就诊时间'],format='%H:%M:%S')
#提取小时
time_hour = time_data.dt.hour
h_data['小时'] = time_hour
#提取分钟
time_munite = time_data.dt.minute
h_data['分钟'] = time_munite

20分钟分段标记:

#按照小时和分钟进行分段写入列表
duan = []
i = 0
for hour in h_data['小时']:
    if hour == 0 and 0 <= int(h_data['分钟'].iloc[i]) < 20:
        duan.append('00:00-00:20')
    elif hour == 0 and 20 <= int(h_data['分钟'].iloc[i]) < 40:
        duan.append('00:20-00:40')
    elif hour == 0 and 40 <= int(h_data['分钟'].iloc[i]) <= 59:
        duan.append('00:40-01:00')
    elif hour == 1 and 0 <= int(h_data['分钟'].iloc[i]) < 20:
        duan.append('01:00-01:20')
    elif hour == 1 and 20 <= int(h_data['分钟'].iloc[i]) < 40:
        duan.append('01:20-01:40')
    elif hour == 1 and 40 <= int(h_data['分钟'].iloc[i]) <= 59:
        duan.append('01:40-02:00')
    elif hour == 2 and 0 <= int(h_data['分钟'].iloc[i]) < 20:
        duan.append('02:00-02:20')
    elif hour == 2 and 20 <= int(h_data['分钟'].iloc[i]) < 40:
        duan.append('02:20-02:40')
    elif hour == 2 and 40 <= int(h_data['分钟'].iloc[i]) <= 59:
        duan.append('02:40-03:00')
    elif hour == 3 and 0 <= int(h_data['分钟'].iloc[i]) < 20:
        duan.append('03:00-03:20')
    elif hour == 3 and 20 <= int(h_data['分钟'].iloc[i]) < 40:
        duan.append('03:20-03:40')
    elif hour == 3 and 40 <= int(h_data['分钟'].iloc[i]) <= 59:
        duan.append('03:40-04:00')
    elif hour == 4 and 0 <= int(h_data['分钟'].iloc[i]) < 20:
        duan.append('04:00-04:20')
    elif hour == 4 and 20 <= int(h_data['分钟'].iloc[i]) < 40:
        duan.append('04:20-04:40')
    elif hour == 4 and 40 <= int(h_data['分钟'].iloc[i]) <= 59:
        duan.append('04:40-05:00')
    elif hour == 5 and 0 <= int(h_data['分钟'].iloc[i]) < 20:
        duan.append('05:00-05:20')
    elif hour == 5 and 20 <= int(h_data['分钟'].iloc[i]) < 40:
        duan.append('05:20-05:40')
    elif hour == 5 and 40 <= int(h_data['分钟'].iloc[i]) <= 59:
        duan.append('05:40-06:00') 
    elif hour == 6 and 0 <= int(h_data['分钟'].iloc[i]) < 20:
        duan.append('06:00-06:20')
    elif hour == 6 and 20 <= int(h_data['分钟'].iloc[i]) < 40:
        duan.append('06:20-06:40')
    elif hour == 6 and 40 <= int(h_data['分钟'].iloc[i]) <= 59:
        duan.append('06:40-07:00')
    elif hour == 7 and 0 <= int(h_data['分钟'].iloc[i]) < 20:
        duan.append('07:00-07:20')
    elif hour == 7 and 20 <= int(h_data['分钟'].iloc[i]) < 40:
        duan.append('07:20-07:40')
    elif hour == 7 and 40 <= int(h_data['分钟'].iloc[i]) <= 59:
        duan.append('07:40-08:00')
    elif hour == 8 and 0 <= int(h_data['分钟'].iloc[i]) < 20:
        duan.append('08:00-08:20')
    elif hour == 8 and 20 <= int(h_data['分钟'].iloc[i]) < 40:
        duan.append('08:20-08:40')
    elif hour == 8 and 40 <= int(h_data['分钟'].iloc[i]) <= 59:
        duan.append('08:40-09:00')
    elif hour == 9 and 0 <= int(h_data['分钟'].iloc[i]) < 20:
        duan.append('09:00-09:20')
    elif hour == 9 and 20 <= int(h_data['分钟'].iloc[i]) < 40:
        duan.append('09:20-09:40')
    elif hour == 9 and 40 <= int(h_data['分钟'].iloc[i]) <= 59:
        duan.append('09:40-10:00')
    elif hour == 10 and 0 <= int(h_data['分钟'].iloc[i]) < 20:
        duan.append('10:00-10:20')
    elif hour == 10 and 20 <= int(h_data['分钟'].iloc[i]) < 40:
        duan.append('10:20-10:40')
    elif hour == 10 and 40 <= int(h_data['分钟'].iloc[i]) <= 59:
        duan.append('10:40-11:00')
    elif hour == 11 and 0 <= int(h_data['分钟'].iloc[i]) < 20:
        duan.append('11:00-11:20')
    elif hour == 11 and 20 <= int(h_data['分钟'].iloc[i]) < 40:
        duan.append('11:20-11:40')
    elif hour == 11 and 40 <= int(h_data['分钟'].iloc[i]) <= 59:
        duan.append('11:40-12:00')
    elif hour == 12 and 0 <= int(h_data['分钟'].iloc[i]) < 20:
        duan.append('12:00-12:20')
    elif hour == 12 and 20 <= int(h_data['分钟'].iloc[i]) < 40:
        duan.append('12:20-12:40')
    elif hour == 12 and 40 <= int(h_data['分钟'].iloc[i]) <= 59:
        duan.append('12:40-13:00')
    elif hour == 13 and 0 <= int(h_data['分钟'].iloc[i]) < 20:
        duan.append('13:00-13:20')
    elif hour == 13 and 20 <= int(h_data['分钟'].iloc[i]) < 40:
        duan.append('13:20-13:40')
    elif hour == 13 and 40 <= int(h_data['分钟'].iloc[i]) <= 59:
        duan.append('13:40-14:00')
    elif hour == 14 and 0 <= int(h_data['分钟'].iloc[i]) < 20:
        duan.append('14:00-14:20')
    elif hour == 14 and 20 <= int(h_data['分钟'].iloc[i]) < 40:
        duan.append('14:20-14:40')
    elif hour == 14 and 40 <= int(h_data['分钟'].iloc[i]) <= 59:
        duan.append('14:40-15:00')
    elif hour == 15 and 0 <= int(h_data['分钟'].iloc[i]) < 20:
        duan.append('15:00-15:20')
    elif hour == 15 and 20 <= int(h_data['分钟'].iloc[i]) < 40:
        duan.append('15:20-15:40')
    elif hour == 15 and 40 <= int(h_data['分钟'].iloc[i]) <= 59:
        duan.append('15:40-16:00')
    elif hour == 16 and 0 <= int(h_data['分钟'].iloc[i]) < 20:
        duan.append('16:00-16:20')
    elif hour == 16 and 20 <= int(h_data['分钟'].iloc[i]) < 40:
        duan.append('16:20-16:40')
    elif hour == 16 and 40 <= int(h_data['分钟'].iloc[i]) <= 59:
        duan.append('16:40-17:00')
    elif hour == 17 and 0 <= int(h_data['分钟'].iloc[i]) < 20:
        duan.append('17:00-17:20')
    elif hour == 17 and 20 <= int(h_data['分钟'].iloc[i]) < 40:
        duan.append('17:20-17:40')
    elif hour == 17 and 40 <= int(h_data['分钟'].iloc[i]) <= 59:
        duan.append('17:40-18:00')
    elif hour == 18 and 0 <= int(h_data['分钟'].iloc[i]) < 20:
        duan.append('18:00-18:20')
    elif hour == 18 and 20 <= int(h_data['分钟'].iloc[i]) < 40:
        duan.append('18:20-18:40')
    elif hour == 18 and 40 <= int(h_data['分钟'].iloc[i]) <= 59:
        duan.append('18:40-19:00')
    elif hour == 19 and 0 <= int(h_data['分钟'].iloc[i]) < 20:
        duan.append('19:00-19:20')
    elif hour == 19 and 20 <= int(h_data['分钟'].iloc[i]) < 40:
        duan.append('19:20-19:40')
    elif hour == 19 and 40 <= int(h_data['分钟'].iloc[i]) <= 59:
        duan.append('19:40-20:00')
    elif hour == 20 and 0 <= int(h_data['分钟'].iloc[i]) < 20:
        duan.append('20:00-20:20')
    elif hour == 20 and 20 <= int(h_data['分钟'].iloc[i]) < 40:
        duan.append('20:20-20:40')
    elif hour == 20 and 40 <= int(h_data['分钟'].iloc[i]) <= 59:
        duan.append('20:40-21:00')
    elif hour == 21 and 0 <= int(h_data['分钟'].iloc[i]) < 20:
        duan.append('21:00-21:20')
    elif hour == 21 and 20 <= int(h_data['分钟'].iloc[i]) < 40:
        duan.append('21:20-21:40')
    elif hour == 21 and 40 <= int(h_data['分钟'].iloc[i]) <= 59:
        duan.append('21:40-22:00')
    elif hour == 22 and 0 <= int(h_data['分钟'].iloc[i]) < 20:
        duan.append('22:00-22:20')
    elif hour == 22 and 20 <= int(h_data['分钟'].iloc[i]) < 40:
        duan.append('22:20-22:40')
    elif hour == 22 and 40 <= int(h_data['分钟'].iloc[i]) <= 59:
        duan.append('22:40-23:00')
    elif hour == 23 and 0 <= int(h_data['分钟'].iloc[i]) < 20:
        duan.append('23:00-23:20')
    elif hour == 23 and 20 <= int(h_data['分钟'].iloc[i]) < 40:
        duan.append('23:20-23:40')
    elif hour == 23 and 40 <= int(h_data['分钟'].iloc[i]) <= 59:
        duan.append('23:40-24:00')
    else:
        duan.append('25未标记时间')
    i += 1
#将时间分段标记列表数据写入DataFrame表中
h_data['时间分段'] = duan
h_data.head(3)

导出数据:

#分组聚合按时间分段导出数据
h_data_count = h_data.groupby('时间分段')['时间分段'].count()
h_data_count.to_excel('D:\\hospital\\分析表\\分时段就诊人次数据统计.xlsx')

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

菜鸟杜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值