calculating Gini coefficient in Python/numpy

后端 未结 4 948
谎友^
谎友^ 2020-12-09 19:51

i\'m calculating Gini coefficient (similar to: Python - Gini coefficient calculation using Numpy) but i get an odd result. for a uniform distribution sampled from np.r

4条回答
  •  爱一瞬间的悲伤
    2020-12-09 20:06

    A slightly faster implementation (using numpy vectorization and only computing each difference once):

    def gini_coefficient(x):
        """Compute Gini coefficient of array of values"""
        diffsum = 0
        for i, xi in enumerate(x[:-1], 1):
            diffsum += np.sum(np.abs(xi - x[i:]))
        return diffsum / (len(x)**2 * np.mean(x))
    

    Note: x must be a numpy array.

提交回复
热议问题