Как найти среднее арифметическое чисел пайтон

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

Формула: Среднее значение = сумма чисел / общее количество.

Содержание

  1. Методы поиска среднего значения списка
  2. Функция mean()
  3. Использование функции sum()
  4. 3. Использование reduce() и lambda()
  5. Функция operator.add() для поиска среднего значения списка
  6. Метод 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's user avatar

Henry Ecker

34k18 gold badges37 silver badges55 bronze badges

asked Oct 10, 2011 at 17:19

jrdioko's user avatar

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's user avatar

compie

10.1k15 gold badges54 silver badges77 bronze badges

answered Oct 10, 2011 at 17:22

NPE's user avatar

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

Bengt's user avatar

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.

Boris Verkhovskiy's user avatar

answered Dec 28, 2013 at 22:38

kirbyfan64sos's user avatar

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's user avatar

Bengt

13.9k6 gold badges47 silver badges66 bronze badges

answered Aug 17, 2013 at 18:29

Mumon's user avatar

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

Lenka Pitonakova's user avatar

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 Bezden's user avatar

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

fariborz najafi's user avatar

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 Rollet's user avatar

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

jasonleonhard's user avatar

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

Muhoza yves's user avatar

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

PaulMcG's user avatar

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:

  1. non-float result: in python2, 9/4 is 2. to resolve, use float(sum(L))/len(L) or from __future__ import division

  2. 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

n611x007's user avatar

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

Hashmatullah Noorzai's user avatar

  1. Используйте математическую формулу для вычисления среднего арифметического в Python
  2. Используйте функцию numpy.mean() для вычисления среднего арифметического в Python
  3. Используйте функцию statistics.mean() для вычисления среднего арифметического в Python
  4. Используйте функцию scipy.mean() для вычисления среднего арифметического в Python

Вычислить среднее арифметическое в 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.

Содержание

  1. Использование цикла for для вычисления среднего арифметического
  2. Использование функции sum() и len() для вычисления среднего арифметического
  3. Использование функции 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.

Понравилась статья? Поделить с друзьями:
  • Как найти настоящих строителей
  • Смотреть как найти соседа все части
  • Как найти друга в rave приложении
  • Как найти номер строки в тексте
  • Как найти самую лучшую девушку