Сортировка данных через нормальное распределение в Python без использования сторонней библиотекиPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Сортировка данных через нормальное распределение в Python без использования сторонней библиотеки

Сообщение Anonymous »

У меня есть список данных, где первый индекс - это просто имя, а второй индекс - это высота панели, я хочу сортировать его с помощью обычного распределения, но я не уверен, что я делаю неправильно < /p>
def normaldistribution(data):
print(f"data list: {data}")

# Extract heights
heights = [item[1] for item in data]

# Compute mean (μ) and standard deviation (σ)
mean = sum(heights) / len(heights)
variance = sum((x - mean) ** 2 for x in heights) / len(heights)
std_dev = math.sqrt(variance) if variance > 0 else 1 # Prevent division by zero

# Print calculated mean, variance, std deviation
print(f"mean: {mean} variance: {variance} std dev {std_dev}")

# Compute absolute distance from mean
data_with_distance = [(name, height, abs(height - mean), index) for index, (name, height) in enumerate(data)]

print(f"data with distance: {data_with_distance}")

# Sort by:
# 1. Absolute distance from mean (smallest first)
# 2. Original order (to maintain stability)
sorted_data = sorted(data_with_distance, key=lambda x: (x[2], x[3]))

# Remove extra values and keep only (name, height) pairs
sorted_data = [[name, height] for name, height, _, _ in sorted_data]

# Print sorted data
print(sorted_data)
return sorted_data
< /code>
Мой вывод выглядит так: < /p>
data list: [[1, 5], [2, 4], [8, 1], [22, 8], [24, 2], [46, 1]]
mean: 3.5 variance: 6.25 std dev 2.5
data with distance: [(1, 5, 1.5, 0), (2, 4, 0.5, 1), (8, 1, 2.5, 2), (22, 8, 4.5, 3), (24, 2, 1.5, 4), (46, 1, 2.5, 5)]
[[2, 4], [1, 5], [24, 2], [8, 1], [46, 1], [22, 8]]
data list: [[1, 18], [2, 6], [3, 3], [4, 1]]
mean: 7.0 variance: 43.5 std dev 6.59545297913646
data with distance: [(1, 18, 11.0, 0), (2, 6, 1.0, 1), (3, 3, 4.0, 2), (4, 1, 6.0, 3)]
[[2, 6], [3, 3], [4, 1], [1, 18]]
< /code>
Пожалуйста, не упоминайте какие -либо сторонние библиотеки, они совершенно бесполезны для меня, так как я вообще не могу их использовать < /p>
В своем выходе я продолжаю получать свой Высшее значение как моя последняя ценность, и я изо всех сил пытаюсь понять, почему

Подробнее здесь: https://stackoverflow.com/questions/794 ... arty-libra
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»