В этой статье мы рассмотрим различные способы найти среднее значение списка в списке Python. Среднее значение – это значение, которое представляет весь набор элементов данных или элементов.
Формула: Среднее значение = сумма чисел / общее количество.
Содержание
- Методы поиска среднего значения списка
- Функция mean()
- Использование функции sum()
- 3. Использование reduce() и lambda()
- Функция operator.add() для поиска среднего значения списка
- Метод NumPy average() для вычисления среднего значения списка
Методы поиска среднего значения списка
Для вычисления среднего значения списка в Python можно использовать любой из следующих методов:
- Функция mean();
- Встроенный метод sum();
- Методы lambda() и reduce();
- Метод operator.add().
Функция mean()
Python 3 имеет модуль статистики, который содержит встроенную функцию для вычисления среднего числа. Функция statistics.mean() используется для вычисления среднего входного значения или набора данных.
Функция mean() принимает список, кортеж или набор данных, содержащий числовые значения, в качестве параметра и возвращает среднее значение элементов данных.
Синтаксис:
mean(data-set/input-values)
Пример:
from statistics import mean inp_lst = [12, 45, 78, 36, 45, 237.11, -1, 88] list_avg = mean(inp_lst) print("Average value of the list:n") print(list_avg) print("Average value of the list with precision upto 3 decimal value:n") print(round(list_avg,3))
В приведенном выше фрагменте кода мы использовали метод statistics.round() для округления выходного среднего до определенного десятичного значения.
Синтаксис:
statistics.round(value, precision value)
Вывод:
Average value of the list: 67.51375 Average value of the list with precision upto 3 decimal value: 67.514
Использование функции sum()
Функция statistics.sum() также может использоваться для поиска среднего значения данных в списке Python.
Функция statistics.len() используется для вычисления длины списка, т.е. количества элементов данных, присутствующих в списке.
Синтаксис:
len(input-list)
Кроме того, функция statistics.sum() используется для вычисления суммы всех элементов данных в списке.
Синтаксис:
sum(input-list)
Примечание: среднее значение = (сумма) / (количество).
Пример:
from statistics import mean inp_lst = [12, 45, 78, 36, 45, 237.11, -1, 88] sum_lst = sum(inp_lst) lst_avg = sum_lst/len(inp_lst) print("Average value of the list:n") print(lst_avg) print("Average value of the list with precision upto 3 decimal value:n") print(round(lst_avg,3))
Вывод:
Average value of the list: 67.51375 Average value of the list with precision upto 3 decimal value: 67.514
3. Использование reduce() и lambda()
Мы можем использовать функцию reduce() вместе с функцией lambda().
Функция reduce() в основном используется для применения определенной (входной) функции к набору элементов, переданных в функцию.
Синтаксис:
reduce(function,input-list/sequence)
- Первоначально функция reduce() применяет переданную функцию к первым двум последовательным элементам и возвращает результат.
- Далее мы применяем ту же функцию к результату, полученному на предыдущем шаге, и к элементу, следующему за вторым элементом.
- Этот процесс продолжается, пока не дойдет до конца списка.
- Наконец, результат возвращается на терминал или экран в качестве вывода.
Функция lambda() используется для создания и формирования анонимных функций, то есть функции без имени или подписи.
Синтаксис:
lambda arguments:function
Пример:
from functools import reduce inp_lst = [12, 45, 78, 36, 45, 237.11, -1, 88] lst_len= len(inp_lst) lst_avg = reduce(lambda x, y: x + y, inp_lst) /lst_len print("Average value of the list:n") print(lst_avg) print("Average value of the list with precision upto 3 decimal value:n") print(round(lst_avg,3))
Вывод:
Average value of the list: 67.51375 Average value of the list with precision upto 3 decimal value: 67.514
Функция operator.add() для поиска среднего значения списка
Модуль operator.add() содержит различные функции для эффективного выполнения основных вычислений и операций.
Функцию operator.add() можно использовать для вычисления суммы всех значений данных, присутствующих в списке, с помощью функции reduce().
Синтаксис:
operator.add(value1, value2)
Примечание: среднее значение = (сумма) / (длина или количество элементов)
Пример:
from functools import reduce import operator inp_lst = [12, 45, 78, 36, 45, 237.11, -1, 88] lst_len = len(inp_lst) lst_avg = reduce(operator.add, inp_lst) /lst_len print("Average value of the list:n") print(lst_avg) print("Average value of the list with precision upto 3 decimal value:n") print(round(lst_avg,3))
Вывод:
Average value of the list: 67.51375 Average value of the list with precision upto 3 decimal value: 67.514
Метод NumPy average() для вычисления среднего значения списка
Модуль NumPy имеет встроенную функцию для вычисления среднего значения элементов данных, присутствующих в наборе данных или списке.
Метод numpy.average() используется для вычисления среднего значения входного списка.
Пример:
import numpy inp_lst = [12, 45, 78, 36, 45, 237.11, -1, 88] lst_avg = numpy.average(inp_lst) print("Average value of the list:n") print(lst_avg) print("Average value of the list with precision upto 3 decimal value:n") print(round(lst_avg,3))
Вывод:
Average value of the list: 67.51375 Average value of the list with precision upto 3 decimal value: 67.514
Is there a built-in or standard library method in Python to calculate the arithmetic mean (one type of average) of a list of numbers?
Henry Ecker♦
34k18 gold badges37 silver badges55 bronze badges
asked Oct 10, 2011 at 17:19
3
I am not aware of anything in the standard library. However, you could use something like:
def mean(numbers):
return float(sum(numbers)) / max(len(numbers), 1)
>>> mean([1,2,3,4])
2.5
>>> mean([])
0.0
In numpy, there’s numpy.mean()
.
compie
10.1k15 gold badges54 silver badges77 bronze badges
answered Oct 10, 2011 at 17:22
NPENPE
483k108 gold badges944 silver badges1009 bronze badges
7
NumPy has a numpy.mean
which is an arithmetic mean. Usage is as simple as this:
>>> import numpy
>>> a = [1, 2, 4]
>>> numpy.mean(a)
2.3333333333333335
answered Dec 13, 2012 at 22:12
BengtBengt
13.9k6 gold badges47 silver badges66 bronze badges
9
Use statistics.mean
:
import statistics
print(statistics.mean([1,2,4])) # 2.3333333333333335
It’s available since Python 3.4. For 3.1-3.3 users, an old version of the module is available on PyPI under the name stats
. Just change statistics
to stats
.
answered Dec 28, 2013 at 22:38
kirbyfan64soskirbyfan64sos
10.3k6 gold badges54 silver badges75 bronze badges
4
You don’t even need numpy or scipy…
>>> a = [1, 2, 3, 4, 5, 6]
>>> print(sum(a) / len(a))
3
Bengt
13.9k6 gold badges47 silver badges66 bronze badges
answered Aug 17, 2013 at 18:29
MumonMumon
6315 silver badges2 bronze badges
6
Use scipy:
import scipy;
a=[1,2,4];
print(scipy.mean(a));
answered Nov 19, 2012 at 19:11
1
Instead of casting to float you can do following
def mean(nums):
return sum(nums, 0.0) / len(nums)
or using lambda
mean = lambda nums: sum(nums, 0.0) / len(nums)
UPDATES: 2019-12-15
Python 3.8 added function fmean to statistics module. Which is faster and always returns float.
Convert data to floats and compute the arithmetic mean.
This runs faster than the mean() function and it always returns a
float. The data may be a sequence or iterable. If the input dataset is
empty, raises a StatisticsError.fmean([3.5, 4.0, 5.25])
4.25
New in version 3.8.
answered Apr 28, 2017 at 10:56
Vlad BezdenVlad Bezden
82.2k24 gold badges246 silver badges179 bronze badges
from statistics import mean
avarage=mean(your_list)
for example
from statistics import mean
my_list=[5,2,3,2]
avarage=mean(my_list)
print(avarage)
and result is
3.0
answered Oct 2, 2018 at 16:56
If you’re using python >= 3.8, you can use the fmean
function introduced in the statistics
module which is part of the standard library:
>>> from statistics import fmean
>>> fmean([0, 1, 2, 3])
1.5
It’s faster than the statistics.mean
function, but it converts its data points to float
beforehand, so it can be less accurate in some specific cases.
You can see its implementation here
answered Dec 30, 2020 at 22:20
Mathieu RolletMathieu Rollet
1,9272 gold badges17 silver badges27 bronze badges
def avg(l):
"""uses floating-point division."""
return sum(l) / float(len(l))
Examples:
l1 = [3,5,14,2,5,36,4,3]
l2 = [0,0,0]
print(avg(l1)) # 9.0
print(avg(l2)) # 0.0
answered Sep 10, 2017 at 20:29
def list_mean(nums):
sumof = 0
num_of = len(nums)
mean = 0
for i in nums:
sumof += i
mean = sumof / num_of
return float(mean)
answered Aug 18, 2016 at 15:09
0
The proper answer to your question is to use statistics.mean
. But for fun, here is a version of mean that does not use the len()
function, so it (like statistics.mean
) can be used on generators, which do not support len()
:
from functools import reduce
from operator import truediv
def ave(seq):
return truediv(*reduce(lambda a, b: (a[0] + b[1], b[0]),
enumerate(seq, start=1),
(0, 0)))
answered Aug 28, 2018 at 1:30
PaulMcGPaulMcG
62k16 gold badges93 silver badges130 bronze badges
I always supposed avg
is omitted from the builtins/stdlib because it is as simple as
sum(L)/len(L) # L is some list
and any caveats would be addressed in caller code for local usage already.
Notable caveats:
-
non-float result: in python2, 9/4 is 2. to resolve, use
float(sum(L))/len(L)
orfrom __future__ import division
-
division by zero: the list may be empty. to resolve:
if not L: raise WhateverYouWantError("foo") avg = float(sum(L))/len(L)
answered Nov 2, 2015 at 11:03
n611x007n611x007
8,9307 gold badges59 silver badges101 bronze badges
Others already posted very good answers, but some people might still be looking for a classic way to find Mean(avg), so here I post this (code tested in Python 3.6):
def meanmanual(listt):
mean = 0
lsum = 0
lenoflist = len(listt)
for i in listt:
lsum += i
mean = lsum / lenoflist
return float(mean)
a = [1, 2, 3, 4, 5, 6]
meanmanual(a)
Answer: 3.5
answered Sep 11, 2017 at 1:53
- Используйте математическую формулу для вычисления среднего арифметического в Python
- Используйте функцию
numpy.mean()
для вычисления среднего арифметического в Python - Используйте функцию
statistics.mean()
для вычисления среднего арифметического в Python - Используйте функцию
scipy.mean()
для вычисления среднего арифметического в Python
Термин среднее арифметическое — это среднее арифметическое чисел. Математическая формула для определения среднего арифметического заключается в делении суммы чисел на количество. В Python это определяется следующими способами.
- Используйте математическую формулу.
- Используйте функцию mean () из стандартных библиотек Python, таких как
NumPy
,statistics
,scipy
.
Используйте математическую формулу для вычисления среднего арифметического в Python
Следуйте этой программе, чтобы использовать математическую формулу.
listnumbers=[1,2,4];
print("The mean is =",sum(listnumbers) / len(listnumbers));
Выход:
The mean is = 2.3333333333333335
Используйте функцию numpy.mean()
для вычисления среднего арифметического в Python
Стандартная библиотека NumPy
содержит функцию mean()
, используемую для определения среднего арифметического в Python. Для этого сначала импортируйте библиотеку NumPy
. См. Пример ниже.
import numpy
listnumbers = [1, 2, 4]
print ("The mean is =",numpy.mean(listnumbers))
Выход:
The mean is = 2.3333333333333335
Используйте функцию statistics.mean()
для вычисления среднего арифметического в Python
Библиотека statistics
содержит функцию mean()
, используемую для определения среднего арифметического. Для этого сначала импортируйте библиотеку statistics
. Следуйте приведенному ниже примеру.
import statistics
listnumbers = [1, 2, 4]
print("The mean is =",statistics.mean(listnumbers))
Выход:
The mean is = 2.3333333333333335
Используйте функцию scipy.mean()
для вычисления среднего арифметического в Python
Библиотека scipy
содержит функцию mean()
, используемую для определения среднего значения. Для этого сначала импортируйте scipy
библиотеку. Вот пример.
import scipy;
listnumbers=[1,2,4];
print("The mean is =",scipy.mean(listnumbers));
Выход:
The mean is = 2.3333333333333335
Для обработки любых данных в Python приходится выполнять множество математических вычислений. В этой статье рассмотрим различные способы вычисления среднего значения заданных чисел.
Как рассчитать среднее значение заданных чисел
Среднее значение заданных чисел – это сумма всех чисел, делёная на общее количество чисел.
Например, если нам даны числа 1, 2, 4, 5, 6, 7, 8, 10, и 12, то сумма всех заданных чисел равна 55, а их общее количество равно 9. Таким образом, среднее значение всех чисел будет равно 55/9, т.е. 6,111 .
Вычисляем среднее значение, используя цикл for
Если нам дан список чисел, мы можем вычислить среднее значение с помощью цикла for. Сначала объявим переменную sumofNums и переменную count и дадим им значение 0. Затем пройдемся по каждому элементу списка. Будем добавлять каждый элемент в переменную sumofNums. В это время будем увеличивать переменную count на 1. После обхода всего списка у нас будет сумма всех элементов списка в переменной sumofNums и общее количество элементов в переменной count. Теперь можно разделить сумму чисел на количество, чтобы получить среднее значение элементов списка:
numbers = [1, 2, 34, 56, 7, 23, 23, 12, 1, 2, 3, 34, 56]
sumOfNums = 0
count = 0
for number in numbers:
sumOfNums += number
count += 1
average = sumOfNums / count
print("The list of numbers is:", numbers)
print("The average of all the numbers is:", average)
Вывод:
The list of numbers is: [1, 2, 34, 56, 7, 23, 23, 12, 1, 2, 3, 34, 56]
The average of all the numbers is: 19.53846153846154
Рассчитываем среднее значение с помощью встроенных функций
Вместо цикла for можно использовать встроенные функции.
Можно вычислить сумму всех элементов списка с помощью метода sum(), а затем мы можем вычислить общее количество элементов в списке с помощью метода len(). Таким образом, у нас будет сумма чисел и общее количество чисел, с помощью которых мы сможем рассчитать среднее значение:
numbers = [1, 2, 34, 56, 7, 23, 23, 12, 1, 2, 3, 34, 56]
sumOfNums = sum(numbers)
count = len(numbers)
average = sumOfNums / count
print("The list of numbers is:", numbers)
print("The average of all the numbers is:", average)
Вывод:
The list of numbers is: [1, 2, 34, 56, 7, 23, 23, 12, 1, 2, 3, 34, 56]
The average of all the numbers is: 19.53846153846154
Также можно использовать метод mean() модуля статистики для прямого вычисления среднего значения элементов списка. Мы передадим данный список чисел в качестве входных данных методу mean(), и он вернёт среднее значение чисел:
import statistics
numbers = [1, 2, 34, 56, 7, 23, 23, 12, 1, 2, 3, 34, 56]
average = statistics.mean(numbers)
print("The list of numbers is:", numbers)
print("The average of all the numbers is:", average)
Вывод:
The list of numbers is: [1, 2, 34, 56, 7, 23, 23, 12, 1, 2, 3, 34, 56]
The average of all the numbers is: 19.53846153846154
Заключение
В этой статье мы обсудили различные способы вычисления среднего значения заданных чисел в Python.
Просмотры: 6 451
На чтение 3 мин Просмотров 2.4к. Опубликовано
Python предоставляет удобные средства для работы со списками, включая вычисление среднего арифметического элементов списка. Среднее арифметическое — это сумма элементов списка, разделенная на количество элементов в списке. В этой статье мы рассмотрим различные способы нахождения среднего арифметического элементов списка в Python.
Содержание
- Использование цикла for для вычисления среднего арифметического
- Использование функции sum() и len() для вычисления среднего арифметического
- Использование функции mean() из библиотеки statistics для вычисления среднего арифметического
Использование цикла for для вычисления среднего арифметического
Для вычисления среднего арифметического элементов списка в Python можно использовать цикл for. Сначала необходимо создать список, который будет содержать элементы, среднее арифметическое которых нужно вычислить. Далее можно использовать цикл for для итерации по элементам списка и вычисления их суммы. Затем необходимо разделить полученную сумму на количество элементов списка, чтобы получить среднее арифметическое.
Пример кода:
numbers = [1, 2, 3, 4, 5]
sum = 0
for num in numbers:
sum += num
avg = sum / len(numbers)
print("Среднее арифметическое:", avg)
В этом примере мы создали список numbers
, содержащий числа от 1 до 5, затем использовали цикл for для вычисления их суммы и разделили ее на количество элементов списка, чтобы получить среднее арифметическое. Результат выполнения программы будет следующим:
Среднее арифметическое: 3.0
Использование функции sum() и len() для вычисления среднего арифметического
Еще одним простым способом вычисления среднего арифметического элементов списка в Python является использование функций sum()
и len()
. Функция sum()
возвращает сумму всех элементов списка, а функция len()
возвращает количество элементов в списке. Делением суммы на количество элементов можно получить среднее арифметическое.
Вот как это можно реализовать в коде:
my_list = [1, 2, 3, 4, 5]
average = sum(my_list) / len(my_list)
print("Среднее арифметическое списка:", average)
В этом примере мы сначала создаем список my_list
с пятью элементами. Затем мы вычисляем среднее арифметическое элементов списка с помощью функций sum()
и len()
и сохраняем результат в переменной average
. Наконец, мы выводим среднее арифметическое на экран с помощью функции print()
. Этот способ вычисления среднего арифметического является очень простым и эффективным.
Использование функции mean() из библиотеки statistics для вычисления среднего арифметического
Для вычисления среднего арифметического элементов списка можно использовать функцию mean()
из стандартной библиотеки statistics
. Эта функция возвращает среднее арифметическое переданного ей списка чисел.
Пример использования функции mean()
:
import statistics
my_list = [1, 2, 3, 4, 5]
average = statistics.mean(my_list)
print("Среднее арифметическое:", average)
В данном примере мы создаем список my_list
и передаем его функции mean()
. Функция вычисляет среднее арифметическое элементов списка и сохраняет результат в переменной average
. Затем мы выводим полученное значение на экран.
Функция mean()
также поддерживает списки, содержащие элементы разных типов, например, целые числа и числа с плавающей запятой. Если список пуст, то функция вызовет исключение StatisticsError
. Если список содержит элементы, которые не являются числами, то будет вызвано исключение TypeError
.