Пробовал искать, ничего подходящего не обнаружил. Допустим, у нас есть ряд с четным числом чисел, и мы хотим вычислить его медианное значение:
pd.Series([4, 6, 8, 10]).median()
Поскольку у нас четное количество элементов, нет ни одного элемента, который находится точно посередине, поэтому вместо этого метод выполняет вычисление: (6 + 8) / 2 = 7. Однако для моих целей очень важно, чтобы медиана - это число, которое уже существует в Серии, а не что-то рассчитанное с нуля. Поэтому я бы предпочел выбрать 6 или 8, чем использовать 7.
Одним из возможных решений является обнаружение четного числа элементов и, в таких случаях, добавление еще одного гарантированного элемента. быть самым большим или самым маленьким, а затем просто удалить его после получения медианы. Но такое решение кажется довольно корявым даже для случая с одной серией. И если вместо этого мы имеем дело с объектом SeriesGroupBy, где такая медиана должна вычисляться для каждой группы отдельно, я даже не могу представить, как это реализовать.
Похоже, что в метод median()
, который заставляет его выбирать один из двух ближайших элементов вместо деления, и я не могу найти альтернативы методу median()
, который также может это сделать. Является ли реализация моей собственной медианной функции единственным выбором?