|
|
|
|
|
|
|
import numpy as np |
|
|
|
|
|
def calculate_gini_simpson(dictionary): |
|
""" |
|
Function to Calculate Gini Simpson's Diversity Index |
|
""" |
|
total = sum(dictionary.values()) |
|
sum_squares = sum((n / total) ** 2 for n in dictionary.values()) |
|
return 1 - sum_squares |
|
|
|
|
|
def calculate_gini(frequencies): |
|
""" |
|
Function to Calculate Gini's Diversity Index |
|
""" |
|
frequencies = np.array(frequencies) |
|
if len(frequencies) == 0 or np.mean(frequencies) == 0: |
|
return None |
|
total = sum( |
|
np.sum(np.abs(xi - frequencies[i:])) |
|
for i, xi in enumerate(frequencies[:-1], 1) |
|
) |
|
return total / (len(frequencies) ** 2 * np.mean(frequencies)) |
|
|