Можно найти медиану столбца (или одномерного массива данных) без использования функции
median
из библиотек. Пошаговый алгоритм и пример кода для нахождения медианы "вручную" ниже:Алгоритм:
import pandas as pd
# Пример данных в виде DataFrame
data = pd.DataFrame({
'values': [10, 20, 30, 40, 50, 60, 70, 80, 90, 100]
})
# Функция для нахождения медианы без использования встроенной функции median
def manual_median(column):
# Преобразование столбца в список и сортировка
sorted_values = sorted(column)
n = len(sorted_values)
# Проверка на четность количества элементов
if n % 2 == 1:
# Не четное количество элементов, медиана - средний элемент
median = sorted_values[n // 2]
else:
# Четное количество элементов, медиана - среднее двух средних элементов
mid1 = sorted_values[n // 2 - 1]
mid2 = sorted_values[n // 2]
median = (mid1 + mid2) / 2.0
return median
# Нахождение медианы для столбца 'values'
median_value = manual_median(data['values'])
print(f"Медиана: {median_value}")
Объяснение кода:
sorted(column)
создает отсортированный список значений столбца.n
хранит количество элементов в списке.Оператор
%
используется для проверки на четность:n
нечетное, медиана — это элемент, находящийся в середине списка: sorted_values[n // 2]
.n
четное, медиана — это среднее значение двух центральных элементов: (sorted_values[n // 2 - 1] + sorted_values[n // 2]) / 2.0
.Этот метод позволяет найти медиану данных без использования встроенной функции
median
. Он полезен для понимания процесса нахождения медианы и может быть использован в ситуациях, когда доступ к встроенным функциям ограничен.