Spaces:
Running
Running
# Copyright 2023 by Jan Philip Wahle, https://jpwahle.com/ | |
# All rights reserved. | |
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)) | |