Как создать статистический расчет из нового расчета, сделанного из значений в словарях в списке, Python 3 - PullRequest
0 голосов
/ 22 февраля 2019

У меня есть список словарей, для которых я извлек два значения из каждого словаря и разделил их друг на друга, чтобы создать новый элемент.Я хотел бы найти способ и медиану этих новых предметов.Их довольно много, поэтому я не хочу вводить каждый новый элемент для формирования списка.

from statistics import median
from statistics import mean
for stats in body_stats:
    size = [stats['weight']/stats['height']]
median_size = median(size) 
mode_size = mode(size)
print(mode_size, median_size)

Похоже, это выводит на печать последние сделанные расчеты, а не определяет какой режим/ Медиана - я предполагаю, потому что новые вычисления не являются частью одного целого списка.Они печатаются в виде серии списков для каждого значения.Как мне заставить их сформировать список, не вводя каждый расчет по отдельности?Или есть другой способ узнать статистические вычисления из созданных мной расчетов?

Спасибо за вашу помощь!

Ответы [ 2 ]

0 голосов
/ 22 февраля 2019

Вам необходимо добавить каждый элемент в список.Что вы в настоящее время делаете с этой строкой:

size = [stats['weight']/stats['height']]

Создает новый список с одним элементом каждый раз.Каждый раз, когда цикл запускается, он перезаписывает переменную размера списком из одного элемента

. Вместо этого вам нужно будет

from statistics import median
from statistics import mean

size = [] # create a "size" variable that is the list type
for stats in body_stats:
    size.append(stats['weight']/stats['height']) # append the calculation 
median_size = median(size) 
mode_size = mode(size)
print(mode_size, median_size)
0 голосов
/ 22 февраля 2019

Проблема в том, что вы сохраняете список из одного элемента в каждой итерации.Вместо этого вы можете использовать генератор и перевести его в медиану и режим, подобный этому.

median_size = median(stats['weight']/stats['height'] for stats in body_stats)
mode_size = mode(stats['weight']/stats['height'] for stats in body_stats)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...