Автор оригинала: Chris.
Не будь злым, будь средним.
Эта статья показывает, как рассчитать среднее значение данного списка численных входов в Python.
В случае, если вы посещали свой последний курс статистики несколько лет назад, давайте быстро откроем определение среднего: Сумма по всем значениям и разделите их по количеству ценностей.
Итак, как рассчитать среднее значение данного списка в Python?
Python 3.x не имеет встроенного метода для расчета среднего. Вместо этого просто разделите сумму значений списка через количество элементов списка, используя два встроенных функции сумма () а также Лен () . Вы рассчитываете среднее значение данного список в питоне в качестве Сумма (список)/len (список) . Возвращаемое значение имеет тип float.
Вот краткий пример, который рассчитывает средний доход данных дохода $ 80000, $ 90000 и 100000 долларов США:
income = [80000, 90000, 100000] average = sum(income) / len(income) print(average) # 90000.0
Вы можете видеть, что возвращаемое значение имеет тип float, даже если данные списка имеют тип типа целого числа. Причина в том, что оператор разделения по умолчанию в Python выполняет арифметику с плавающей точкой, даже если вы разделяете два целых числа.
Головоломка : Попробуйте изменить элементы в списке доход
Так что среднее значение составляет 80000,0 вместо 90000,0 в нашей интерактивной оболочке:
Если вы не можете видеть интерактивную оболочку, вот неинтерактивная версия:
# Define the list data income = [80000, 90000, 100000] # Calculate the average as the sum divided # by the length of the list (float division) average = sum(income) / len(income) # Print the result to the shell print(average) # Puzzle: modify the income list so that # the result is 80000.0
Это абсолютный минимум, который вам нужно знать о расчете базовой статистики, такой как средний в Python. Но это гораздо больше, и изучение других способов, и альтернативы на самом деле сделают вас лучшим кодировщиком. Итак, давайте погрузимся в некоторые связанные вопросы и темы, которые вы можете узнать!
Вот ваш бесплатный PDF чит-лист, показывающий вас все методы списка Python на одной простой странице. Нажмите на изображение, чтобы загрузить файл PDF с высоким разрешением, распечатать его и опубликовать его в свою офисную стену:
Питона списка средняя медиана
Какая медиана списка Python? Формально медиана является «значением, разделенным выше половиной от нижней половины образец данных» ( Wiki ).
Как рассчитать медиану списка Python?
- Сортируйте список элементов, используя
отсортировано ()
Встроенная функция в Python. - Рассчитайте индекс среднего элемента (см. Графику), разделив длину списка на 2, используя целочисленное разделение.
- Вернуть средний элемент.
Вместе вы можете просто получить медиану, выполнив выражение Средний (доход) [Лен (доход)//2]
Отказ
Вот пример конкретного кода:
income = [80000, 90000, 100000, 88000] average = sum(income) / len(income) median = sorted(income)[len(income)//2] print(average) # 89500.0 print(median) # 90000.0
Похожие учебники:
- Подробное руководство Как сортировать список в Python в этом блоге Отказ
Среднее среднее значение Python
Среднее значение точно так же, как среднее значение: суммируйте все значения в вашей последовательности и разделите по длине последовательности. Вы можете использовать либо расчет Сумма (список)/len (список)
или вы можете импортировать статистика
Модуль и звонок Среднее (список)
.
Вот оба примера:
lst = [1, 4, 2, 3] # method 1 average = sum(lst) / len(lst) print(average) # 2.5 # method 2 import statistics print(statistics.mean(lst)) # 2.5
Оба метода эквивалентны. статистика
Модуль имеет более интересные вариации Среднее ()
Метод ( Источник ):
иметь в виду() | Арифметическое среднее («среднее») данных. |
Медиана () | Среднее (среднее значение) данных. |
median_low () | Низкий медиана данных. |
median_high () | Высокий медиана данных. |
median_grouped () | Средний или 50-й процентиль, сгруппированные данные. |
Режим() | Режим (самое распространенное значение) дискретных данных. |
Они особенно интересны, если у вас есть два средних значения, и вы хотите решить, какой из них взять.
Питона списка среднего стандартного отклонения
Стандартное отклонение определяется как отклонение значений данных из среднего ( Wiki ). Он используется для измерения дисперсии набора данных. Вы можете рассчитать стандартное отклонение значений в списке с помощью статистического модуля:
import statistics as s lst = [1, 0, 4, 3] print(s.stdev(lst)) # 1.8257418583505538
Список питона в среднем мин MAX
В отличие от среднего, есть Встроенные функции Python которые рассчитают Минимальный и Максимум данного списка. Мин (список)
Метод рассчитывает минимальное значение и Макс (список)
Метод рассчитывает максимальное значение в списке.
Вот пример минимальных, максимальных и средних вычислений в списке Python:
import statistics as s lst = [1, 1, 2, 0] average = sum(lst) / len(lst) minimum = min(lst) maximum = max(lst) print(average) # 1.0 print(minimum) # 0 print(maximum) # 2
Средняя сумма списка Python
Как рассчитать среднее, используя сумма ()
Встроенный метод Python? Просто, разделите результат Сумма (список)
Вызов функции по количеству элементов в списке. Это нормализует результат и рассчитывает среднее значение всех элементов в списке.
Опять же, в следующем примере показано, как это сделать:
import statistics as s lst = [1, 1, 2, 0] average = sum(lst) / len(lst) print(average) # 1.0
Python Список среднего numpy
Пакет Python для науки о науке данных Numpy Также имеет отличную статистику функциональность. Вы можете рассчитать все основные статистические данные, такие как средний , медиана, дисперсия и стандартное отклонение на Numpy массивов. Просто импортируйте Numpy Library и используйте np.average (а)
Способ расчета среднего значения Numpy Array А
Отказ
Вот код:
import numpy as np a = np.array([1, 2, 3]) print(np.average(a)) # 2.0
Средний список (Numpy) массивы (Numpy)
Средняя функция Numpy Вычисляет среднее значение всех числовых значений в Numpy Array. При использовании без параметров он просто рассчитывает численное среднее значение всех значений в массиве, независимо от размерности массива. Например, выражение np.average ([[1,2], [2,3]])
Результаты в среднем значении (1 + 2 + 2 + 3)/4.0
Отказ
Тем не менее, что, если вы хотите рассчитать средневзвешенное среднее небольшой массива? Другими словами, вы хотите перевесить t Некоторые значения массива и underweight другие.
Вы можете легко выполнить это с средней функцией Numpy, передавая аргумент весов на Numpy средний
функция.
import numpy as np a = [-1, 1, 2, 2] print(np.average(a)) # 1.0 print(np.average(a, weights = [1, 1, 1, 5])) # 1.5
В первом примере мы просто усреднены по всем значениям массива: (-1 + 1 + 2 + 2)/4.0
Отказ Однако во втором примере мы избыточный вес последнего элемента 2 массива – он теперь несет в пять раз массу других элементов, приводящих к следующим вычислениям: (-1+1+2+(2+2+2+2+2))/8.5
.
Давайте исследуем разные параметры, которые мы можем перейти к np.average (...)
.
- Numpy Array который может быть многомерным.
- (Необязательно) Ось вдоль которого вы хотите среднее. Если вы не укажете аргумент, усреднение выполняется по всему массиву.
- (Необязательно) Вес каждого столбца указанной оси. Если вы не укажете аргумент, веса предполагаются однородными.
- (Необязательно) Возвращаемое значение функции. Только если вы устанавливаете это значение TRUE, вы получите кортеж (средний, весит/sum) в результате. Это может помочь вам нормализовать вывод. В большинстве случаев вы можете пропустить этот аргумент.
Вот пример, как в среднем вдоль столбцов 2D Numpy Array с указанными весами для обоих строк.
[Python] Импорт Numpy как NP
# ежедневные цены акций # [утро, полдень, вечер] .array ([[2, 3, 4], # сегодня [2, 2, 5]]) # вчера
# полудня – средневзвешенное принт (NP.average (Solar_x,, вес = [3/4, 1/4]) [1]) [/Python]
Что такое выход этой головоломки? * Уровень начинающих * (решение ниже)
Вы также можете решить эту головоломку в нашем приложении обучения на основе головоломки (100% бесплатно): Проверьте свои навыки сейчас!
Связанная статья:
- Numpy (взвешенный) Усреднение
Средний список словарей Python
Проблема : Дано – список словарей. Ваша цель – это рассчитать среднее значение значений, связанных с определенным ключом от всех словарей.
Пример : Рассмотрим следующий пример, где вы хотите получить среднее значение списка записей базы данных (например, каждый хранится в виде словаря), хранящийся под ключ «Возраст»
Отказ
db = [{'username': 'Alice', 'joined': 2020, 'age': 23}, {'username': 'Bob', 'joined': 2018, 'age': 19}, {'username': 'Alice', 'joined': 2020, 'age': 31}] average = # ... Averaging Magic Here ... print(average)
Вывод должен выглядеть так, где в среднем определяется среднее, используя возраст (23+19+31)/3.333
.
Решение : Решение : Вы используете особенность Генератор Экспресс Ион в Python, чтобы динамически создать список возраст
ценности. Тогда вы суммируете их и разделите их по количеству возраст
ценности. Результат в среднем все возраст
значения в словаре.
db = [{'username': 'Alice', 'joined': 2020, 'age': 23}, {'username': 'Bob', 'joined': 2018, 'age': 19}, {'username': 'Alice', 'joined': 2020, 'age': 31}] average = sum(d['age'] for d in db) / len(db) print(average) # 24.333333333333332
Давайте перейдем к следующему вопросу: Как рассчитать среднее из списка поплавков?
Средний список поплавков Python
Усреднение списка поплавок так же просто, как усреднение списка целых чисел. Просто суммируйте их и разделите их по количеству ценностей поплавка. Вот код:
lst = [1.0, 2.5, 3.0, 1.5] average = sum(lst) / len(lst) print(average) # 2.0
Средний список кортежей Python
Проблема : Как в среднем все значения, если значения хранятся в списке кортежей?
Пример : У вас есть список кортежей [(1, 2), (2, 2), (1, 1)]
И вы хотите среднее значение (1 + 2 + 2 + 2 + 1 + 1)/6.5
Отказ
Решение : Есть три идеи решения:
- Распаковать Значения кортежных в списке и рассчитайте среднее значение этого списка.
- Используйте только Понимание списка с вложенным для петли.
- Используйте простые вложенные для петли.
Далее я дам все три примера в одном фрагменте кода:
lst = [(1, 2), (2, 2), (1, 1)] # 1. Unpacking lst_2 = [*lst[0], *lst[1], *lst[2]] print(sum(lst_2) / len(lst_2)) # 1.5 # 2. List comprehension lst_3 = [x for t in lst for x in t] print(sum(lst_3) / len(lst_3)) # 1.5 # 3. Nested for loop lst_4 = [] for t in lst: for x in t: lst_4.append(x) print(sum(lst_4) / len(lst_4)) # 1.5
Распаковывать : Оператор Звездочки перед тем, что оператор «распаковывает» все значения в соответствии с внутренним контекстом. Вы можете использовать его только в структуре контейнеров, способную поймать распаковываемые значения.
Понимание списка является компактным способом создания списков. Простая формула [экспрессия + контекст].
- Выражение: Что делать с каждым элементом списка?
- Контекст: в каком списке элементы выбрать? Он состоит из произвольного количества для и если утверждения.
Пример [X для X в диапазоне (3)]
Создает список [0, 1, 2]
.
Средний вложенный список Python
Проблема : Как рассчитать среднее вложенный список?
Пример : Учитывая вложенный список [[1, 2, 3], [4, 5, 6]]. Вы хотите рассчитать среднее. Как ты это делаешь?
Решение Опять же, есть три идеи решения:
- Распаковать Значения кортежных в списке и рассчитайте среднее значение этого списка.
- Используйте только Понимание списка с вложенным для петли.
- Используйте простые вложенные для петли.
Далее я дам все три примера в одном фрагменте кода:
lst = [[1, 2, 3], [4, 5, 6]] # 1. Unpacking lst_2 = [*lst[0], *lst[1]] print(sum(lst_2) / len(lst_2)) # 3.5 # 2. List comprehension lst_3 = [x for t in lst for x in t] print(sum(lst_3) / len(lst_3)) # 3.5 # 3. Nested for loop lst_4 = [] for t in lst: for x in t: lst_4.append(x) print(sum(lst_4) / len(lst_4)) # 3.5
Распаковывать : Оператор Звездочки перед тем, что оператор «распаковывает» все значения в соответствии с внутренним контекстом. Вы можете использовать его только в структуре контейнеров, способную поймать распаковываемые значения.
Понимание списка является компактным способом создания списков. Простая формула [экспрессия + контекст].
- Выражение: Что делать с каждым элементом списка?
- Контекст: в каком списке элементы выбрать? Он состоит из произвольного количества для и если утверждения.
Пример [X для X в диапазоне (3)]
Создает список [0, 1, 2]
.
Куда пойти отсюда
Python 3.x не имеет встроенного метода для расчета среднего. Вместо этого просто разделите сумму значений списка через количество элементов списка, используя два встроенных функции сумма () а также Лен () . Вы рассчитываете среднее значение данного список в питоне в качестве Сумма (список)/len (список) . Возвращаемое значение имеет тип float.
Если вы продолжаете бороться с теми основными командами Python, и вы чувствуете застрявшие в своем прогрессе обучения, у меня есть что-то для вас: Python One-listers (Amazon Link).
В книге я дам вам тщательный обзор темы критических компьютерных наук, таких как машинное обучение, регулярное выражение, наука о данных, Numpy и Python Basics – все в одной линейке кода Python!
Получите книгу от Amazon!
Официальная книга Описание: Python One-Listers покажет читателям, как выполнить полезные задачи с одной строкой кода Python. Следуя краткому переподготовку Python, книга охватывает важные продвинутые темы, такие как нарезка, понимание списка, вещание, функции лямбда, алгоритмы, регулярные выражения, нейронные сети, логистические регрессии и др .. Каждая из 50 секций книг вводит проблему для решения, проходит читателя через навыки, необходимые для решения этой проблемы, затем предоставляет краткое однонаправленное решение Python с подробным объяснением.
Работая в качестве исследователя в распределенных системах, доктор Кристиан Майер нашел свою любовь к учению студентов компьютерных наук.
Чтобы помочь студентам достичь более высоких уровней успеха Python, он основал сайт программирования образования Finxter.com Отказ Он автор популярной книги программирования Python одноклассники (Nostarch 2020), Coauthor of Кофе-брейк Python Серия самооставленных книг, энтузиаста компьютерных наук, Фрилансера и владелец одного из лучших 10 крупнейших Питон блоги по всему миру.
Его страсти пишут, чтение и кодирование. Но его величайшая страсть состоит в том, чтобы служить стремлению кодер через Finxter и помогать им повысить свои навыки. Вы можете присоединиться к его бесплатной академии электронной почты здесь.
Оригинал: “https://blog.finxter.com/python-list-average/”