APP下载

【企业Python实战:国泰金控数数发中心】前进企业开发现场,Python如何通吃数据分析和Web开发

消息来源:baojiabao.com 作者: 发布时间:2026-08-24

报价宝综合消息【企业Python实战:国泰金控数数发中心】前进企业开发现场,Python如何通吃数据分析和Web开发

国泰世华银行数据生态营运部以及国泰金控数数发中心数位体验科技部成员。(摄影/洪政伟)

资料科学和Web开发是Python目前最擅长的两大应用领域,在前者,Python无疑是公认的最佳开发语言选择,但在后者,仍有许多Web技术可以选择。在企业开发现场,Python如何在这两个截然不同的领域,发挥作用?国泰金控数数发中心就是在双领域中都大量使用Python。国泰世华银行数据生态营运部协理吴香妮说:“我们的目的是,透过相同的Python开发,让工程人员跟资料分析人员对接时,有共通的语言。”国泰的资料科学团队和数位体验开发团队也现身说法,揭露各自在实务开发上的经验。

企业资料科学团队如何用Python?

国泰世华银行数据生态营运部,是国泰金控数数发中心旗下的资料科学团队之一。他们平时就大量使用Python,来开发各类算法,进行产品推荐或关联网络分析,从数据探索、特征工程、建模、自动化工程,甚至ML模型的自动化上线、API开发等作业,都靠Python来完成。

国泰金控数数发中心数据生态发展部资料科学工程师陈柏翰举例解释,数据探索时,可用Python开发资料爬虫程式,来抓取需要的外部开放资料,比如GIS地理资讯资料、工商业登记资料等,“我自己用过Python、Java、C#不同语言来开发爬虫程式,相较之下,Python更容易开发、速度也更快。”

另外,在特征工程、ML算法开发的过程中,国泰也用Python取代R、SAS来进行。国泰世华银行数据生态营运部资料科学分析师吴薰德表示,资料分析阶段选用Python的关键是,Python拥有成熟的生态系,支援许多数据分析的套件,比如说在小数据探索上,很适合用Pandas框架来开发,而且,“Python在大量资料清整的能力,比R或传统分析工具来得更好用。”

不只特定分析用途,在整体专案开发过程中,国泰团队用开源工作流管理平台Apache Airflow,搭配Python脚本程式,将工作流程自动化。

国泰世华银行数据生态营运部资料科学工程师曾晴解释,过去执行整套资料分析流程时,经常会发生模型程式执行好几天后,最后要产出结果时,才发现资料来源还没更新到位,往往到最后的步骤才发现异常,这时,就需要靠工程师人工查看Log日志,找出其中的资料断点。或者是在程式执行前,需花大量时间人工检查数据来源后,才能手动执行下一个程式动作。

因此,国泰导入Airflow作为工作流的监控与排程平台,使用Python来撰写各种流程的自动化脚本程式,一旦资料来源的资料到位后,就会自动触发下一支程式执行,国泰还搭配Airflow监控专案来判断异常。“如此一来,不只提升整体维运效率,程式异常时,可以更快找到断点来处理。”曾晴表示。

不只是内部分析时使用,国泰将ML模型上线到金融场景应用时背后的API,也是用Python来开发。以客服中心的客户进线问题预测模型为例,国泰会透过搜集过去客户行为轨迹,比如在ATM领钱、刷卡失败、或刚缴完账单等行为,将这些行为轨迹资料转换成特征变数并建立预测模型,再将预测模型打包成API,再提供给面对客服人员的前端客户端仪表板程式呼叫使用。

如此一来,当客服人员接到来电时,系统搭配及时串流资料,就能立即预测出客户可能想问的问题前三名,让客服人员能快速从客户仪表版获得更多参考资讯,提高顾客客服体验。

在不同资料分析上都善用Python后,陈柏翰认为,Python的优势是,能成为协作沟通的桥梁,让工程人员与分析人员能互相对彼此提供程式码的建议,来加速专案的开发。

国泰自建Python框架加速开发

“一套统一的框架可以加速专案上线,所以,国泰资料分析工程团队才决定自己建立这个Python框架,称为Rocket。”陈柏翰解释,Rocket主要用于内部数据工程及资料科学专案的开发,透过预先建立好的Python程式开发框架,来制定每个程式设计环节的规范,比如Log日志储存位置、如何启动程式、程式接口设定等,都可以依照框架来统一标准作法。

这个自制的Rocket框架,也能串接到后端Airflow的自动化监控,读取Log数据,再串接到后端进行监控。在CI/CD的部分,国泰也在Rocket框架中,先完成了一套单元测试的方式,开发团队成员可以透过几个指令,快速执行测试任务,并自动输出成报告。也因为部署环节中,开发、测试、上线不同环境的设定档都不同,所以国泰也在Rocket框架中,预先内建了一套标准的配置档,以利各种快速部署之用。

为何要自己设计一套框架?陈柏翰表示,Python与Java相比,建立程式开发环境时,Java已有固定格式的资料夹结构,但是,Python弹性较高而没有限制,“甚至在数据科学应用上,也没有一套如同Web开发领域的Flask框架可用。”因此,国泰才决定自行设计Rocket,预先统一每个专案的开发架构,也让团队熟悉开发流程,来加速专案上线。

资料分析团队还将惯用的Python套件,比如Pandas、Scikit-Learn等,依照不同功能,重新打包成一个资料分析团队内部的“常用套件包”。比如说,原本每个人撰写时间转换功能的程式都不同,全面改用统一的套件,就能在同样功能上统一程式码,能省下各自开发的时间,“因为分析人员花比较多时间在钻研算法,有些套件已经打包好,能直接呼叫比较快。”吴薰德说。

为何国泰后端工程团队也爱用Python?

国泰数数发中心另一个爱用Python的团队是国泰金控数数发中心数位体验科技部。他们是数位产品从开发到上线的幕后推手,主要任务是开发数位产品,来提升使用者的数位体验。国泰在部分生活场景的新产品,背后系统就是靠擅长Python的后端工程技术团队所打造。除了开发网站后端,也能做轻量级的应用程序API,来推动新服务上线。

国泰金控数数发中心数位体验科技部资深工程师杜政家指出,国泰近年来在开发生活场景的新服务时,会将新系统与原先的核心系统分开开发,来实现架构分离。“架构分离可以让两个系统不会互相牵制,”他解释,比如生活场景的新服务,可能需要更强的独立性、更快的迭代速度、以及可扩充性的架构,才不会受制于原银行环境的影响。

由于既有核心系统主要采用Java平台,国泰选择将部分生活场景的应用拆分独立出来,并改以Python来开发,比如国泰优惠App中,对内的客户身份验证API、内容管理平台,或是对外的电子商务、点数会员平台等。

杜政家表示,改用Python开发的好处很多,除了开发成本较低,也因Python具备两个发展成熟的框架,Django和Flask,能让开发团队快速建立起一个高可用性的网站后台,也容易建立轻量级的API。

国泰后端工程团队也常用Django及Flask,搭配Docker容器技术,来建立起一个独立封闭的开发环境,同时结合GitLab的CI/CD达到持续整合,来建立一套软件开发流程。

国泰金控数数发中心数位体验科技部技术经理邹政伦也补充,选择使用Python,而非性质相似的Web开发语言PHP,是因PHP资安漏洞较多,用Python来取代,可以降低资安防护要面对的风险。而且,Python向来在Web应用开发上有不错的表现,再加上容易上手,“就算原本擅长Java的工程师,也能快速适应改用Python来开发。”

不过,并非所有金融服务都能改用Python来开发,对国泰来说,Java仍是关键技术,邹政伦解释:“因为核心金融服务的资料,如身份证、个资等,仍来自于银行核心系统,势必要搭配银行原本的核心系统跟开发环境。”所以,国泰中介层应用的开发上,仍以Java为主,不过,“将Java系统上的资料萃取出来后,未来,前端应用就能弹性改用其他技术或方法来开发。”

Python不需要专才,而是人人都要的基本能力

尽管Python是资料科学与后端工程团队的常用语言,但不约而同的,两个团队都认为,Python技术力不是他们征才的关键。吴香妮指出,资料科学团队要的人才,“Python技术不是唯一要求,对数据分析没有任何概念,没有洞察能力也不行。”反而因为,Python上手门槛低,国泰集团内部学习网也有相关资源能自学,“只要达到Python技术基本门槛,进来之后从做中学比较快。”

后端工程团队的杜政家也提到,由于后端开发的语言选择很多,“只要程式底子够的话,要转换程式语言不困难。”因此,他更看重具有后端相关工作经验、优秀的程式设计能力,甚至有前端开发经验但想往后端尝试的求职者,都是这个团队要的人才。

而国泰后端工程团队还设计了一个导师制度,安排资深人员担任辅导(Mentor)角色,协助新进员工准备工作环境,以及相关环境设定。另外,使用的技术框架与开发流程,也由Mentor在实务工作中来协助进行在职训练。

两种团队各自领域不同,必学工具也不同。国泰后端工程团队建议,Django、Flask与Docker,是Python在Web开发领域的必学工具。而对于资料科学团队来说,一定要先学的能力是资料爬虫,这是进行资料分析的第一步,其他ML、数据分析、科学计算的框架,则无特定推荐,要看实际应用场景来决定。

但不论是哪一个团队,都希望成员能够不断增进自己的开发实力,比如鼓励员工参加外部研讨会、外部课程并提供补助,也鼓励员工组成读书会、参加社群活动,来养成自发性学习的习惯。“技术会不断迭代,需要不断学习,Python能力不一定要最顶尖,但是要具备自学与分享的态度,成员才能互相成长。”陈柏翰说。

国泰世华银行数据生态营运部

由左而右分别是国泰世华银行数据生态营运部资料科学分析师吴薰德、资料科学工程师曾晴、协理吴香妮、国泰金控数数发中心数据生态发展部资料科学工程师陈柏翰。

 主要工作  开发各类算法,比如产品推荐或关联网络分析

 Python应用  数据探索、特征工程、建模、自动化工程、API开发

 为什么选Python  Python能成为资料分析人员与工程人员的共通语言

 开发环境特色  自建Python程式开发框架Rocket,来统一每个程式设计环节的标准

 人才需求  资料分析的应用解题能力,Python基本能力,但得先学资料爬虫设计

国泰金控数数发中心数位体验科技部

国泰金控数数发中心数位体验科技部,由左而右分别是技术经理邹政伦、资深工程师杜政家。

 主要工作  相关数位产品的开发到上线,还要负责优化使用者体验

 Python应用  开发网站后端、轻量级的应用程序API

 为什么选Python  Django和Flask框架发展成熟,能快速建立Web应用

 开发环境特色  用容器技术与GitLab的CI/CD,来建立软件开发流程

 人才需求  具备前、后端开发经验,以及好的程式设计能力者

 相关报导  AI时代开发语言新主流Python

2020-05-14 09:55:00

相关文章