Я хочу написать функцию median_index(A)
, которая возвращает индекс медианы с учетом распределения A (A - это список со значениями, связанными с каждым индексом).
Я выбрал способ получения значения медианы, но теперь я хочу иметь позицию (индекс), где эта медиана находится при сортировке списка A.
def median_index(P):
l = sorted(P)
l_len = len(P)
if l_len < 1:
return None
if l_len % 2 == 0 :
return ( l[(l_len-1)/2] + l[(l_len+1)/2] ) / 2.0
else:
return l[(l_len-1)/2]
median_index([0.12,0.04,0.12,0.12,0.2,0.16,0.16,0.08])
В результате получается 5. 5 - последняя позиция, где 0,12. Это индекс медианы 0,12, когда я сортирую список и вычисляю медиану, которая равна 0,12.