算法
#!/usr/bin/python
# coding=utf8
"""
# Author: wangbin34
# Created Time : 2023-06-14 10:31:30
# File Name: lib_math.py
# Description:
常用数学方法
"""
import math
def percentile(values, quantile):
"""
百分位数
Args:
values: list, eg:[1,2,3,4]
quantile: float, eg: 99.99
"""
size = len(values)
index = math.ceil((size * quantile) / 100)
if index != 0:
index = index - 1
return sorted(values)[int(index)]
# Calculate the Arithmetic mean.
def mean(values):
"""
平均值
Args:
values: list, eg:[1,2,3,4]
"""
if not len(values):
return 0
arithmetic_mean = sum(values) / float(len(values))
return arithmetic_mean
# Function to calculate the Standard Deviation.
def standard_deviation(values):
"""
standard_deviation
Args:
values: list, eg:[1,2,3,4]
"""
if not len(values):
return 0
value_mean = mean(values)
value_sum = 0
for value in values:
value_sum += (value - value_mean)**2
x = (value_sum / float(len(values))) ** 0.5
return x
# Function to calculate the Coefficient of Variation
def coefficient_of_variation(values):
"""
standard_deviation
Args:
values: list, eg:[1,2,3,4]
"""
if not len(values):
return 0
value_mean = mean(values)
coefficient_of_variation = (standard_deviation(values) / float(value_mean))
return coefficient_of_variation
Last updated