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

EDIT:

I added two other ways to get the average of a list (which are relevant only for Python 3.8+). Here is the comparison that I made:

import timeit
import statistics
import numpy as np
from functools import reduce
import pandas as pd
import math

LIST_RANGE = 10
NUMBERS_OF_TIMES_TO_TEST = 10000

l = list(range(LIST_RANGE))

def mean1():
    return statistics.mean(l)


def mean2():
    return sum(l) / len(l)


def mean3():
    return np.mean(l)


def mean4():
    return np.array(l).mean()


def mean5():
    return reduce(lambda x, y: x + y / float(len(l)), l, 0)

def mean6():
    return pd.Series(l).mean()


def mean7():
    return statistics.fmean(l)


def mean8():
    return math.fsum(l) / len(l)


for func in [mean1, mean2, mean3, mean4, mean5, mean6, mean7, mean8 ]:
    print(f"{func.__name__} took: ",  timeit.timeit(stmt=func, number=NUMBERS_OF_TIMES_TO_TEST))

These are the results I got:

mean1 took:  0.09751558300000002
mean2 took:  0.005496791999999973
mean3 took:  0.07754683299999998
mean4 took:  0.055743208000000044
mean5 took:  0.018134082999999968
mean6 took:  0.6663848750000001
mean7 took:  0.004305374999999945
mean8 took:  0.003203333000000086

Interesting! looks like math.fsum(l) / len(l) is the fastest way, then statistics.fmean(l), and only then sum(l) / len(l). Nice!

Thank you @Asclepius for showing me these two other ways!


OLD ANSWER:

In terms of efficiency and speed, these are the results that I got testing the other answers:

# test mean caculation

import timeit
import statistics
import numpy as np
from functools import reduce
import pandas as pd

LIST_RANGE = 10
NUMBERS_OF_TIMES_TO_TEST = 10000

l = list(range(LIST_RANGE))

def mean1():
    return statistics.mean(l)


def mean2():
    return sum(l) / len(l)


def mean3():
    return np.mean(l)


def mean4():
    return np.array(l).mean()


def mean5():
    return reduce(lambda x, y: x + y / float(len(l)), l, 0)

def mean6():
    return pd.Series(l).mean()



for func in [mean1, mean2, mean3, mean4, mean5, mean6]:
    print(f"{func.__name__} took: ",  timeit.timeit(stmt=func, number=NUMBERS_OF_TIMES_TO_TEST))

and the results:

mean1 took:  0.17030245899968577
mean2 took:  0.002183011999932205
mean3 took:  0.09744236000005913
mean4 took:  0.07070840100004716
mean5 took:  0.022754742999950395
mean6 took:  1.6689282460001778

so clearly the winner is:
sum(l) / len(l)

  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 425

На чтение 3 мин Просмотров 2.3к. Опубликовано

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.

Время чтения 4 мин.

Mean() — это встроенная статистическая функция Python, используемая для вычисления среднего значения чисел списков. Он принимает данные в качестве аргумента и возвращает среднее значение данных.

Содержание

  1. Среднее значение списка в Python
  2. Способ 1: функция Python Statistics.mean()
  3. Способ 2: использование функций sum() и len()
  4. Способ 3: использование функции numpy.mean()
  5. Метод 4: цикл For для вычисления среднего значения
  6. Дополнительные примеры
  7. Вычисление среднего значения кортежа в Python
  8. Нахождение среднего значения словаря в Python
  9. Кортеж отрицательного набора целых чисел
  10. Список отрицательного набора целых чисел
  11. Как вычислить среднее значение списка дробей
  12. TypeError в Python

Чтобы вычислить среднее значение списка в Python:

  1. Используйте функцию Statistics.mean().
  2. Используйте функции sum() и len().
  3. Функцию numpy.mean().
  4. Цикл for.

Формула для расчета среднего достигается путем вычисления суммы чисел в списке, поделенной на количество чисел в списке.

import statistics

spiList = [5.55, 5.72, 7.3, 7.75, 8.4, 9, 8.8, 8.2]

print(statistics.mean(spiList))

Выход

Среднее значение списка в Python - пример

В приведенном выше примере у нас есть восемь точек данных, и мы используем функцию Statistics.mean() для вычисления среднего значения  списка.

Способ 1: функция Python Statistics.mean()

Чтобы использовать метод mean() в Python, импортируйте модуль статистики, а затем мы можем использовать функцию mean для возврата среднего значения данного списка.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

import statistics

data = [11, 21, 11, 19, 46, 21, 19, 29, 21, 18, 3, 11, 11]

x = statistics.mean(data)

print(x)

y = statistics.median(data)

print(y)

z = statistics.mode(data)

print(z)

a = statistics.stdev(data)

print(a)

b = statistics.variance(data)

print(b)

Выход

18.53846153846154

19

11

10.611435534486562

112.6025641025641

В приведенном выше примере кода мы использовали функции среднего значения, режима, медианы, дисперсии и стандартного отклонения.

Способ 2: использование функций sum() и len()

Python sum() — это встроенная функция, которая возвращает сумму всех элементов списка. Точно так же функция len() возвращает количество элементов в списке. Мы объединим эти две встроенные функции, чтобы получить среднее значение списка.

def averageOfList(numOfList):

  avg = sum(numOfList) / len(numOfList)

  return avg

print(«The average of List is», round(averageOfList([19, 21, 46, 11, 18]), 2))

Выход

The average of List is 23.0

Способ 3: использование функции numpy.mean()

Функция NumPy.mean() возвращает среднее значение элементов массива. Среднее значение берется по сглаженному массиву по умолчанию; в противном случае по указанной оси.

Библиотека Numpy — это широко используемая библиотека для работы с большими многомерными массивами. Он также имеет обширные математические функции для массивов для выполнения различных задач.

Важно отметить, что функция mean() даст нам среднее значение для предоставленного списка.

from numpy import mean

number_list = [19, 21, 46, 11, 18]

avg = mean(number_list)

print(«The average of List is «, round(avg, 2))

Выход

The average of List is 23.0

Метод 4: цикл For для вычисления среднего значения

В следующем примере кода мы инициализировали переменную sumOfNumbers значением 0 и использовали цикл for.

Цикл for будет перебирать элементы, присутствующие в списке, и каждое число добавляется и сохраняется внутри переменной sumOfNumbers.

Среднее значение рассчитывается с использованием суммы sumOfNumbers, деленной на количество чисел в списке с помощью встроенной функции len().

def averageOfList(num):

sumOfNumbers = 0

for t in num:

   sumOfNumbers = sumOfNumbers + t

   avg = sumOfNumbers / len(num)

   return avg

print(«The average of List is», averageOfList([19, 21, 46, 11, 18]))

Выход

The average of List is 23.0

В приведенном выше коде мы используем цикл for для суммирования всех элементов, а затем делим эту сумму на несколько элементов, чтобы получить среднее значение в Python.

Дополнительные примеры

Мы импортируем модуль статистики, а затем вызовем функцию mean(), чтобы получить среднее значение данных.

import statistics

data = [21, 19, 18, 46, 30]

print(statistics.mean(data))

Выход

Учебник по статистике Python

Вычисление среднего значения кортежа в Python

Чтобы найти среднее значение кортежа в Python, используйте метод Statistics.mean(), который аналогичен нахождению среднего значения списка. Мы должны передать кортеж в качестве параметра.

import statistics

tupleA =(1, 9, 2, 1, 1, 8)

print(statistics.mean(tupleA))

Выход

Вычислить среднее значение кортежа

Это будет работать так же, как список. Он просто возвращает среднее значение чисел внутри кортежа.

Нахождение среднего значения словаря в Python

Чтобы вычислить среднее значение словаря, мы можем использовать метод Statistics.mean(). В словаре функция подсчитывает только ключи как числа и возвращает среднее значение этого словаря на основе ключей словаря.

import statistics

dictA = {1: 19, 2:21, 3:18, 4:46, 5:30}

print(statistics.mean(dictA))

Выход

Вычислить среднее значение словаря

Кортеж отрицательного набора целых чисел

Мы используем statistics, чтобы найти среднее значение кортежа отрицательного метода set.mean(). Нам нужно передать отрицательный кортеж в качестве параметра функции mean(), а взамен мы получим вывод.

import statistics

data =(11, 21, 18, 19, 46)

print(statistics.mean(data))

Выход

Возьмем пример кортежа из смешанного диапазона чисел.

import statistics

data =(11, 21, 18, 19, 46)

print(statistics.mean(data))

Выход

Список отрицательного набора целых чисел

Чтобы вычислить среднее значение списка в Python, используйте метод Statistics.mean(). Мы передадим список отрицательного множества методу mean(), и на выходе мы рассчитаем среднее значение.

import statistics

data = [11, 21, 18, 19, 46]

print(statistics.mean(data))

См. следующий вывод.

Возьмем пример списка смешанного диапазона чисел.

import statistics

data = [11, 21, 18, 19, 46]

print(statistics.mean(data))

Выход

Как вычислить среднее значение списка дробей

Чтобы вычислить среднее значение списка дробей, используйте метод Statistics.mean(). Сначала нам нужно импортировать модуль статистики и дробей, а затем создать дробь чисел, и на выходе мы получим средние значения.

import statistics

from fractions import Fraction as fr

data = [fr(1, 2), fr(44, 12), fr(10, 3), fr(2, 3)]

print(statistics.mean(data))

Выход

TypeError в Python

Давайте возьмем строковые ключи в словаре Python и получим среднее значение строковых значений. Выйдет ошибка, потому что мы не можем найти среднее значение строки.

import statistics

data = {«a»: 11, «b»: 21, «c»: 19,

       «d»: 29, «e»: 18, «f»: 46}

print(statistics.mean(data))

Выход

TypeError: can‘t convert type ‘str to numerator/denominator

Like this post? Please share to your friends:
  • Как найти свой талисман ведьмы
  • Продажа квартир как составить объявление чтобы покупатели
  • Как найти абсолютную высоту горизонтали
  • Как найти всех владельцев автомобиля
  • Как найти созвездие кассиопея на звездном небе