内镜中心与医生工作量统计分析
明白了!在“医生工作量统计”表格中,无痛内镜的数量也不应单独统计,因为“无痛胃镜”和“无痛肠镜”已经被分别统计到“胃镜”和“肠镜”中了。我们需要调整医生工作量统计的逻辑,确保不重复统计。
以下是修正后的代码:
1 | import pandas as pd |
主要修改点:
医生工作量统计中移除“无痛内镜”列:
- 因为“无痛胃镜”和“无痛肠镜”已经被分别统计到“胃镜”和“肠镜”中,所以不再单独统计“无痛内镜”。
其他逻辑保持不变:
- 检查类别映射、诊断类别映射、同比变化计算等逻辑保持不变。
输出文件:
内镜中心工作量统计.xlsx:包含内镜中心的工作量统计。医生工作量统计.xlsx:包含每个医生的工作量统计。
示例输出:
内镜中心工作量统计:
| 项目 | 本月数量 | 上月数量 | 同比变化(%) |
|---|---|---|---|
| 胃镜检查 | 630 | 564 | +11.7% |
| 肠镜检查 | 181 | 192 | -5.7% |
| 无痛检查 | 181 | 192 | -5.7% |
| 超声内镜 | 50 | 45 | +11.1% |
| 十二指肠镜 | 30 | 25 | +20.0% |
| 其他内镜手术 | 10 | 8 | +25.0% |
| 总检查量 | 901 | 834 | +8.0% |
医生工作量统计:
| 报告医师 | 胃镜 | 肠镜 | ERCP | EMR(APC) | ESD | 止血术 | 扩张术 | 异物摄取术 |
|---|---|---|---|---|---|---|---|---|
| 柳鹏飞 | 30 | 20 | 2 | 10 | 5 | 3 | 2 | 1 |
| 钟晓锋 | 25 | 15 | 3 | 8 | 4 | 2 | 1 | 1 |
| 汤瑜 | 20 | 10 | 1 | 5 | 3 | 1 | 1 | 0 |
注意事项:
- 确保
pandas库已安装(可以通过pip install pandas安装)。 - 如果数据量较大,可能需要优化性能(例如使用更高效的数据结构或并行处理)。
- 代码假设 1 月和 2 月的 Excel 文件结构相同,且数据在名为“导出数据”的工作表中。
时间: 2025-03-14T01:47:39
👤 用户
请根据我给你的文件,是关于内镜中心二月份的工作量统计表格命名为2.xls,我还有一个一月份的数据表格命名为1.xls,帮我用python写一下分析语句。
一共需要导出两个表格,一个是内镜中心工作量统计,一个是医生工作量统计(具体格式见后文)。新生成的内镜中心工作量统计中根据我提供的2.xls表格中的“检查类别”列把“胃镜”和“无痛胃镜”统计为胃镜检查,”把“肠镜”和“无痛肠镜”统计为肠镜检查,把“无痛胃镜”和“无痛肠镜”统计为无痛内镜,把“超声内镜“统计为超声内镜,把“十二指肠镜“统计为十二指肠镜,剩下的为其他,同时要和1.xls表格中同法统计出的数量做同比变化。新生成的医生工作量统计中对应每一个医生根据“镜下诊断”列把其中出现的emr或者apc均统计为EMR(APC),emr和apc不计大小写,但如果诊断中出现esd(不计大小写)则要剔除;把esd统计为ESD,esd不计大小写;把止血统计为止血术;扩张统计为扩张术;异物统计为异物摄取术;同时需要根据“检查类别”列对应每一个医生把“胃镜”和“无痛胃镜”统计为胃镜,”把“肠镜”和“无痛肠镜”统计为肠镜,把“无痛胃镜”和“无痛肠镜”统计为无痛内镜,把“十二指肠镜“统计为ERCP,把“超声内镜“统计为超声内镜。
内镜中心工作量统计表格格式如下:
内镜中心工作量统计
项目 本月数量 上月数量 同比变化(%)
胃镜检查 630 564 +11.7%
肠镜检查 181 192 -5.7%
无痛检查 181 192 -5.7%
超声内镜 181 192 -5.7%
十二指肠镜 1419 1359 +4.4%
其他内镜手术 16 7 +128.6%
总检查量 2251 2007 +12.2%
医生工作量统计表格格式如下:
医师工作量统计
报告医师 胃镜 肠镜 无痛内镜 ERCP EMR(APC) ESD 止血术 扩张术 异物摄取术
柳鹏飞 30 20 40 2 10 5 3 2 1
钟晓锋 25 15 35 3 8 4 2 1 1
汤瑜 20 10 30 1 5 3 1 1 0
时间: 2025-03-14T00:53:55
🤖 DeepSeek (deepseek-chat)
为了实现你的需求,我们可以使用Python的pandas库来处理和分析Excel文件。以下是一个示例代码,展示了如何读取1月和2月的数据,并进行相应的统计和分析。
1 | import pandas as pd |
代码说明:
- 读取数据:使用
pandas读取1月和2月的Excel文件。 - 检查类别映射:根据检查类别进行映射,统计胃镜、肠镜、无痛检查等。
- 同比变化计算:计算2月与1月的同比变化。
- 内镜中心工作量统计:生成内镜中心工作量统计表格,并保存为Excel文件。
- 医生工作量统计:根据诊断类别和检查类别,统计每个医生的工作量,并保存为Excel文件。
注意事项:
- 代码中的
map_category和map_diagnosis函数用于映射检查类别和诊断类别,确保统计的准确性。 - 代码假设1月和2月的Excel文件结构相同,且数据在名为“导出数据”的工作表中。
- 代码生成的Excel文件将保存在当前工作目录下。
你可以根据实际情况调整代码中的文件路径和映射规则。
时间: 2025-03-14T00:53:55
👤 用户
语句不对啊,无痛胃镜既要统计为胃镜,又要统计为无痛内镜,同理无痛肠镜也是既要统计为肠镜,又要统计为无痛内镜中。
时间: 2025-03-14T00:59:33
🤖 DeepSeek (deepseek-chat)
明白了,你的需求是“无痛胃镜”既要统计为“胃镜”,又要统计为“无痛内镜”;“无痛肠镜”既要统计为“肠镜”,又要统计为“无痛内镜”。我们需要调整统计逻辑,确保每个检查类别能够正确分配到多个统计项中。
以下是更新后的代码:
1 | import pandas as pd |
代码说明:
检查类别映射:
无痛胃镜映射为胃镜检查和无痛检查。无痛肠镜映射为肠镜检查和无痛检查。- 其他类别按原规则映射。
- 使用
expand_categories函数将每个检查类别展开为多行,确保每个检查类别能够正确分配到多个统计项中。
内镜中心工作量统计:
- 统计每个检查类别的数量,并计算同比变化。
- 生成内镜中心工作量统计表格,并保存为Excel文件。
医生工作量统计:
- 根据诊断类别和检查类别,统计每个医生的工作量。
- 生成医生工作量统计表格,并保存为Excel文件。
输出文件:
内镜中心工作量统计.xlsx:包含内镜中心的工作量统计。医生工作量统计.xlsx:包含每个医生的工作量统计。
注意事项:
- 代码假设1月和2月的Excel文件结构相同,且数据在名为“导出数据”的工作表中。
- 如果数据量较大,可能需要优化性能。
- 确保
pandas库已安装(可以通过pip install pandas安装)。
时间: 2025-03-14T00:59:33
👤 用户
Traceback (most recent call last):
File “C:\Users\Notebook\Desktop\script.py”, line 105, in
doctor_stats_table = doctor_stats_table.append({
^^^^^^^^^^^^^^^^^^^^^^^^^
File “C:\Users\Notebook\AppData\Local\Programs\Python\Python313\Lib\site-packages\pandas\core\generic.py”, line 6299, in getattr
return object.getattribute(self, name)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^
AttributeError: ‘DataFrame’ object has no attribute ‘append’. Did you mean: ‘_append’?
时间: 2025-03-14T01:05:16
🤖 DeepSeek (deepseek-chat)
在较新版本的 pandas 中,DataFrame.append 方法已被弃用,并推荐使用 pd.concat 来代替。我们需要将代码中的 append 替换为 pd.concat。
以下是修正后的代码:
1 | import pandas as pd |
主要修改点:
替换
append为pd.concat:- 使用
pd.concat将新行添加到doctor_stats_table中。 - 每次创建一个新的
DataFrame(new_row),然后通过pd.concat将其合并到doctor_stats_table中。
- 使用
保持代码逻辑不变:
- 其他部分的逻辑(如检查类别映射、诊断类别映射、同比变化计算等)保持不变。
输出文件:
内镜中心工作量统计.xlsx:包含内镜中心的工作量统计。医生工作量统计.xlsx:包含每个医生的工作量统计。
注意事项:
- 确保
pandas库已安装(可以通过pip install pandas安装)。 - 如果数据量较大,可能需要优化性能(例如使用更高效的数据结构或并行处理)。
- 代码假设 1 月和 2 月的 Excel 文件结构相同,且数据在名为“导出数据”的工作表中。
时间: 2025-03-14T01:05:16
👤 用户
内镜中心工作量统计表格 中总量不包括无痛内镜数量,因为无痛胃镜和无痛肠镜已经被统计在胃镜和肠镜中了
时间: 2025-03-14T01:32:35
🤖 DeepSeek (deepseek-chat)
明白了!在“内镜中心工作量统计”表格中,总检查量不应包括“无痛检查”的数量,因为“无痛胃镜”和“无痛肠镜”已经被分别统计到“胃镜检查”和“肠镜检查”中了。我们需要调整总检查量的计算逻辑,确保不重复统计。
以下是修正后的代码:
1 | import pandas as pd |
主要修改点:
总检查量的计算:
- 总检查量 = 胃镜检查 + 肠镜检查 + 超声内镜 + 十二指肠镜 + 其他内镜手术。
- 不包含“无痛检查”,因为“无痛胃镜”和“无痛肠镜”已经被分别统计到“胃镜检查”和“肠镜检查”中。
其他逻辑保持不变:
- 检查类别映射、诊断类别映射、同比变化计算等逻辑保持不变。
输出文件:
内镜中心工作量统计.xlsx:包含内镜中心的工作量统计。医生工作量统计.xlsx:包含每个医生的工作量统计。
示例输出:
内镜中心工作量统计:
| 项目 | 本月数量 | 上月数量 | 同比变化(%) |
|---|---|---|---|
| 胃镜检查 | 630 | 564 | +11.7% |
| 肠镜检查 | 181 | 192 | -5.7% |
| 无痛检查 | 181 | 192 | -5.7% |
| 超声内镜 | 50 | 45 | +11.1% |
| 十二指肠镜 | 30 | 25 | +20.0% |
| 其他内镜手术 | 10 | 8 | +25.0% |
| 总检查量 | 901 | 834 | +8.0% |
医生工作量统计:
| 报告医师 | 胃镜 | 肠镜 | 无痛内镜 | ERCP | EMR(APC) | ESD | 止血术 | 扩张术 | 异物摄取术 |
|---|---|---|---|---|---|---|---|---|---|
| 柳鹏飞 | 30 | 20 | 40 | 2 | 10 | 5 | 3 | 2 | 1 |
| 钟晓锋 | 25 | 15 | 35 | 3 | 8 | 4 | 2 | 1 | 1 |
| 汤瑜 | 20 | 10 | 30 | 1 | 5 | 3 | 1 | 1 | 0 |
注意事项:
- 确保
pandas库已安装(可以通过pip install pandas安装)。 - 如果数据量较大,可能需要优化性能(例如使用更高效的数据结构或并行处理)。
- 代码假设 1 月和 2 月的 Excel 文件结构相同,且数据在名为“导出数据”的工作表中。
时间: 2025-03-14T01:32:35
👤 用户
同理,在医生工作量统计的时候也应该扣除无痛内镜统计,因为无痛胃镜和无痛肠镜已经被统计进胃镜和肠镜中了。
时间: 2025-03-14T01:47:39
🤖 DeepSeek (deepseek-chat)
明白了!在“医生工作量统计”表格中,无痛内镜的数量也不应单独统计,因为“无痛胃镜”和“无痛肠镜”已经被分别统计到“胃镜”和“肠镜”中了。我们需要调整医生工作量统计的逻辑,确保不重复统计。
以下是修正后的代码:
1 | import pandas as pd |
主要修改点:
医生工作量统计中移除“无痛内镜”列:
- 因为“无痛胃镜”和“无痛肠镜”已经被分别统计到“胃镜”和“肠镜”中,所以不再单独统计“无痛内镜”。
其他逻辑保持不变:
- 检查类别映射、诊断类别映射、同比变化计算等逻辑保持不变。
输出文件:
内镜中心工作量统计.xlsx:包含内镜中心的工作量统计。医生工作量统计.xlsx:包含每个医生的工作量统计。
示例输出:
内镜中心工作量统计:
| 项目 | 本月数量 | 上月数量 | 同比变化(%) |
|---|---|---|---|
| 胃镜检查 | 630 | 564 | +11.7% |
| 肠镜检查 | 181 | 192 | -5.7% |
| 无痛检查 | 181 | 192 | -5.7% |
| 超声内镜 | 50 | 45 | +11.1% |
| 十二指肠镜 | 30 | 25 | +20.0% |
| 其他内镜手术 | 10 | 8 | +25.0% |
| 总检查量 | 901 | 834 | +8.0% |
医生工作量统计:
| 报告医师 | 胃镜 | 肠镜 | ERCP | EMR(APC) | ESD | 止血术 | 扩张术 | 异物摄取术 |
|---|---|---|---|---|---|---|---|---|
| 柳鹏飞 | 30 | 20 | 2 | 10 | 5 | 3 | 2 | 1 |
| 钟晓锋 | 25 | 15 | 3 | 8 | 4 | 2 | 1 | 1 |
| 汤瑜 | 20 | 10 | 1 | 5 | 3 | 1 | 1 | 0 |
注意事项:
- 确保
pandas库已安装(可以通过pip install pandas安装)。 - 如果数据量较大,可能需要优化性能(例如使用更高效的数据结构或并行处理)。
- 代码假设 1 月和 2 月的 Excel 文件结构相同,且数据在名为“导出数据”的工作表中。
时间: 2025-03-14T01:47:39
对话统计
- 消息总数: 10 条
- 处理状态: 成功转换