Species Diversity¶
EcoPy contains several methods for estimating species diversity:

diversity
(x, method='shannon', breakNA=True)¶ Calculate species diversity for every site in a site x species matrix
Parameters
 x: numpy.ndarray or pandas.DataFrame (required)
 A site x species matrix, where sites are rows and columns are species.
 method: [‘shannon’  ‘simpson’  ‘invSimpson’  ‘dominance’  ‘spRich’  ‘even’]
shannon: Calculates Shannon’s H
where is the relative abundance of species k
simpson: Calculates Simpson’s D
invSimpson: Inverse of Simpson’s D
dominance: Dominance index.
spRich: Species richness (# of nonzero columns)
even: Evenness of a site. Shannon’s H divided by log of species richness.
 breakNA: [True  False]
 Whether null values should halt the process. If False, then null values are removed from all calculations.
Example
Calculate Shannon diversity of the ‘varespec’ dataset from R:
import ecopy as ep varespec = ep.load_data('varespec') shannonH = ep.diversity(varespec, 'shannon')

rarefy
(x, method='rarefy', size=None, breakNA=True)¶ Returns either rarefied species richness or draws a rarefaction curve for each row. Rarefied species richness is calculated based on the smallest sample (default) or allows userspecified sample sizes.
Parameters
 x: numpy.ndarray or pandas.DataFrame (required)
 A site x species matrix, where sites are rows and columns are species.
 method: [‘rarefy’  ‘rarecurve’]
rarefy: Returns rarefied species richness.
where N is the total number of individuals in the site, is the number of individuals of species i, and size is the sample size for rarefaction
rarecurve: Plots a rarefaction curve for each site (row). The curve is calculated as
where is the total number of species in the matrix and size ranges from 0 to the total number of individuals in each site.
Example
Calculate rarefied species richness for the BCI dataset:
import ecopy as ep varespec = ep.load_data('BCI') rareRich = ep.rarefy(varespec, 'rarefy')
Show rarefaction curves for each site:
ep.rarefy(varespec, 'rarecurve')