生态学α多样性指数计算的Python程序设计

2021-09-23 04:16白顺华
电脑知识与技术 2021年24期
关键词:Python语言植物群落多样性

白顺华

摘要:生物多样性是群落生态学中的重要概念,α多样性指数普遍应用于生态学科学研究中。α多样性指数的计算与相关图像绘制,在数据处理与分析阶段是非常必要的。为获取α多样性指数相关数据信息,从规范的“物种-样地”二维矩阵初始数据格式出发,运用Python编程语言开发程序并通过测试,实现较高整合程度与较快计算速度,协助后续研究过程。

关键词:植物群落;α多样性;多样性指数;Python语言;程序设计

Abstract: Biodiversity is an important concept in community ecology, and α diversity index is widely used in the scientific research of ecology. It is necessary to calculate α diversity index and render its related image in the stage of data processing and analysis. In order to obtain the data information related to α diversity index, a program is developed in Python code and passes the tests on the basis of the standard initial data format of “species-sample” which is a two-dimensional matrix. It increases the integration and computing speed, and assist in the follow-up research process.

Key words: plant community; α diversity; diversity index; Python; program design

1 背景

生物多样性能够揭示生物种的多样化程度、变异状况以及物种生境的生态复杂性[1]。作为人类生存与发展的必要条件,生物多样性的研究在植物学、生态学、农业科学等领域得到广泛应用与发掘,并面向共同维系全球生态平衡的森林、草地、湿地、海洋各类型生态系統,不断产生出新的研究热点与重点。在2015-2021六年间,关于生物多样性的论文在爱斯唯尔Scopus数据库中数量达到67469篇[2]。生物多样性指数计算的结果可用于表征物种的丰富度和均匀度,反映生境中物种的数量和分配状况,实现生物多样性测度的定量化[3]。其中,α生物多样性指数的计算应用最为普遍,可应用于优势植物判别、群落特征描述与群落分类确定等具体研究方面[4]。在以往的研究中,从研究样地获得初始数据后,包括生物多样性指数计算的数据处理与分析步骤,依赖于Microsoft Excel、SPSS Statistics、Canoco等软件,需要人工手动输入和接续操作,精度较高,但时间花费较长。近年来,随着计算机技术的发展,出现了R语言中的外在软件包“Vegan”用于生物多样性指数计算和分析,运行效率高,精度也进一步提高。相比于更专精于统计学数据处理的R语言,面向对象的开源编程语言Python,运行速度更快,具有强大的“胶水语言”功能。因此,以α多样性指数计算的数学公式为基础,借助Python语言及Numpy、Matplotlib等第三方库,以命令行方式编写了α多样性指数计算处理程序,实现了α多样性相关指数的计算与绘图,其运行结果与传统软件及R语言相比无明显区别,集成化等级高,输入固定格式的二维数据矩阵即可得到计算结果与图像,操作简单、上手容易,适合于在生物多样性科学研究的数据处理与分析过程中使用。

2 α多样性计算原理

α多样性是关注局域生境(如栖息地或群落)物种多样性的测度指标,其测度包括物种丰富度指数、物种相对多度模型、物种多样性指数、物种均匀度指数四个方面,可以应用于微生物测序分析与植物群落研究中[5]。选取了具有代表性的数量丰度、物种密度、Chao1指数、ACE指数、Simpson多样性指数、Shannon多样性指数六个数量指数与物种稀释曲线、秩-多度曲线两个曲线图像,通过Python语言编程实现指数计算与图像绘制。

α多样性的计算依赖于野外实验或模型推演中获得的数据。野外实验中,在设定的样方内逐物种识别并记录,综合统计得到初始数据;模型推演中,依靠固定的数学模型自动或手动推算产生初始数据。初始数据通常储存为“物种-样方”的二维矩阵形式,将物种名(即属性)放在行名中,样地名(即样方名、地点)放在列名中,某个样地某个物种的个体数量以自然数(大于等于0的整数)的格式存储在某行某列的单个元素中。

得到数据完整的二维矩阵后,对每列(即每个样地)进行数据处理与分析。假设样地编号为i1,i2,i3, ……,ir,所有样地内物种编号依次为j1,j2,j3,……,js(允许被编号的物种仅在某个或某几个样地中出现),某个样地某个物种的个体数量编号为k11,k12, ……,k21, ……,krs,则初始数据的数据结构如表1所示。

Simpson多样性指数与Shannon多样性指数是反映群落个体属于何种物种的不确定性的两种物种多样性指数,这两个指数都可以由物种度和均匀度两个侧面来反映α多样性。

Simpson多样性指数以随机取样的概率学问题出发,可表述为在群落或样地中随机选择两个个体,其属于同一个物种的概率。其中,pi为某个编号为i的物种在整个样地中出现的概率,S为数量丰度。

3 α多样性程序设计方法

获取初始数据后,确定数据结构,即得到完整的数据信息。基于Windows10系统下Python语言3.7.6版本的支持,通过Python语言程序设计方法,进行数据处理与分析。程序设计中主要借助于拥有多种针对数组进行数据综合处理模块的NumPy库与math库,进行α多样性相关指数的计算与汇总;使用Matplotlib库实现α多样性相关科学计算图像绘制;使用Pandas库实现基于二维矩阵Dataframe格式的“物种-样地”数据结构进行数据处理,将数据从Excel软件的.csv格式读取和输出;同时使用SciPy、Random等库,进行随机数生成和数据最优化选择等功能。程序依托于Python3.7.6与Jupyter Notebook软件运行,运行前需先安装这两个软件,并将扩展名为.ipynb的程序文件在Jupyter Notebook软件中上传后运行。

猜你喜欢
Python语言植物群落多样性
基于Python语言和支持向量机的字符验证码识别
论Python程序设计语言
基于Python语言的面向对象课程实践教学探讨
上海外环绿带植物群落邻体干扰特征分析
谈城市滨水植物群落的构建
海洋微生物次生代谢的生物合成机制
舞蹈表演的表现形式多样性研究
纵向岭谷区植物群落研究
水磨地区蕨类植物多样性调查分析
基于Android的Python语言英汉维电子词典设计与实现