使用 Python 的 CrossCompute 报告自动化为美国公共电力协会的 eReliability Tracker 带来成本和时间节省
概述
美国公共电力协会的 eReliability Tracker 是一款屡获殊荣的 Pyramid Web 应用程序,可帮助电力公司跟踪绩效指标。作为其订阅权益的一部分,电力公司会收到一份可靠性基准报告,该报告使用 eReliability Tracker 数据为每家电力公司量身定制。在本案例研究中,我们将展示美国公共电力协会如何使用 Python + Markdown + CSS + JupyterLab + CrossCompute 将三到六个月的劳动密集型流程转变为高度灵活的自动化 PDF 报告,该报告可以利用 Python 的全部分析能力。结果是,超过五百家电力公司现在可以更频繁地收到有价值的可靠性指标,以改善他们的服务。eReliability Tracker 团队利用节省的时间来创新新的分析方法,以帮助电力公司向其社区供电。
挑战
可靠性基准报告最初是在 Microsoft Access 中开发的,多年来一直忠实且成功地交付给 eReliability Tracker 订阅者。然而,随着订阅数量的增加,为每家电力公司生成自定义报告的半手动点击密集型过程变得越来越繁琐。基础数据的更改可能会触发每家电力公司报告中表格和图表的一系列繁琐更新,并显著延迟迭代的部门间审查过程。
解决方案
2021 年,APPA 数据分析办公室的一位分析师决定使用 Python 重新创建 eReliability Tracker 基准报告。在接下来的两个月内,她能够使用 CrossCompute 报告自动化框架在 JupyterLab 中自动化报告的所有十个部分。她使用 numpy 和 pandas 来计算各种统计数据,并使用 matplotlib 和 seaborn 来生成绘图。为了设置报告的样式,分析师使用了标准 Markdown + CSS。
结果
- 对于基础数据集或下游计算的每一次更改,分析师现在都能够在约一小时内为所有 500 家电力公司重新生成自定义 PDF 报告,这意味着她可以更快地迭代和创新。
- 报告的后续迭代可以利用 Python 中可用的丰富的免费和开源计算和可视化软件包库。
- 报告的所有十个部分也在内部部署为基于 Web 的 CrossCompute 工具,以便非技术用户可以拖放新数据,并在不接触代码的情况下重新生成报告的表格和图表。
鸣谢
感谢美国公共电力协会、美国能源部、Python 软件基金会、坦帕湾创新中心和 CrossCompute 使这项工作成为可能。