×
新疆中医药

编程语言在中医药数据分析中的应用

本文主要介绍了Python编程语言及其特点,分析对比了Python与常用的强类型编程语言Java、C#等编程语言的相同与不同之处,梳理了Python编程语言中常用的编程技术以及应用框架,初步探讨了如何利用Python编程语言进行中医药数据分析工作,总结性的分析了Python编程语言在中医药数据分析中的应用前景,详细阐述了Python编程语言在中医药数据分析中优势与不足,旨在为Python编写中医药数据分析软件提供一些实际应用设计思路。

近年来,Python编程语言已经成为最受欢迎的程序设计语言之一。自2004年起Python的使用率呈线性增长,不断受到编程者的欢迎和喜爱。2010年,Python荣膺TIOBE 2010年度语言桂冠;2017年,IEEE Spectrum发布的2017年度编程语言排行榜中,Python位居第1位。2018年至今,Python在TIOBE编程语言排行榜始终保持较好的发展态势,稳居前五。

Python是一种面向对象、解释型计算机程序设计语言,语法简洁而清晰。Python编程语言基于ABC教学语言,且避免了ABC不够开放的劣势,加强了Python和其他语言如C、C++和Java的结合性,具有丰富和强大的类库,能够把其他编程语言设计的各种模块(尤其是C、C++)轻松地联结在一起,因此Python常常被称为胶水语言。自从20世纪90年代初Python语言诞生至今,它逐渐被广泛应用于系统任务管理、Web应用程序编程与数据挖掘分析。

1 Python编程语言概述

Python是一种面向对象、解释型的脚本语言,同时也是一种功能强大而完善的通用型语言,在可移植性、可扩展性、简单易学等方面具有一定优势。Python作为一门解释型高级语言,因此它具有解释型语言的运行机制,天生具备跨平台特性,客户端平台只需提供Python解释器即可运行Python应用程序。Python可扩展性体现为丰富而强大的类库,这些类库提供的功能覆盖了网络编程、文件I/O、数据库访问、数据挖掘、机器学习以及深度学习等应用场景。Python相比Java等其他编程语言,Python编写的代码简单易读,可操作性强。

Python作为解释型编程语言,与C、C++、Java等编译型高级语言相比,除了上述优点之外,在运行速度、源代码保护等方面具有一定弱势。目前,Python主要分为两个版本,即Python 2何Python 3,和Python 2版本相比,Python3版本在语句输出、编码、运算和异常等方面做出了一些调整与改进,导致Python 3不一定向下兼容Python 2扩展库,当然这一问题随着时间推进,扩展库版本不断迭代,已经大幅改善,基本都支持Python 3。本文着重介绍的NumPy、Pandas以及Matplotlib可算计算与会图库已完全支持Python 3。

2 Python编程语言中常用的数据分析扩展程序

Python编程语言具有系统而丰富的功能扩展库,其中最为经典的科学计算与数据分析扩展库主要包括NumPy、Pandas和Matplotlib,它们分别为Python提供了快速数组处理、数值运算以及绘图等功能。

图1:Matplotlib官网绘图示例

2.1 NumPy

NumPy命名的灵感来源于Numerical和Python两个单词,顾名思义NumPy是使用Python进行科学计算的基础软件包,可以替代MATLAB执行数值积分、微分、内插、外推等数学任务。NumPy主要包含N维数组对象、精密广播功能函数、强大的线性代数与随机数功能,提供了大量的库函数和操作,可以帮助软件开发人员、数据科学家轻松地进行数值计算。

在实际应用中,NumPy最重要的一个特点是其N维数组对象ndarray进行复杂的科学计算,它是用于存放同类型元素的多维数组,每个元素在内存中都有相同存储大小的区域,以0为开始下标标记集合中元素的位置索引。ndarray对象可以通过索引或切片来访问和修改内容,与Python中列表(list)的切片操作类似。ndarray数组对象可以通过slice函数,并设置start、stop及step参数,从原数组中切割出一个新的数组对象。

2.2 Pandas

Pandas是开放源代码且采用BSD许可的Python扩展库,为Python编程语言提供高性能、易于使用的数据结构和数据分析工具。Pandas基于Numpy提供的高性能矩阵运算,构建了强大的结构化数据分析工具集,有效的提高了数据清洗、数据挖掘和数据分析应用效率。

在实际应用中,Pandas的核心组件主要包括DataFrame与Series两个部分。DateFrame是Pandas中的一个表格型的数据结构,包含有一组有序的列,每列可以是不同的值类型,包括数值、字符串、布尔型等。DataFrame即有行索引也有列索引,可以认为其是由Series组成的字典。Series是一种类似于一维数组的对象,是由一组数据以及一组与之相关的数据标签组成。将Pandas中DataFrame与NumPy中的ndarrya有效结合,可极大地提升科学计算效率。

上一篇:基于软件的中医药防控新型冠状病毒肺炎质性研
下一篇:没有了

Top