Модуль numpy Python надає функцію під назвою numpy.average(), яка використовується для обчислення середньозваженого значення вздовж вказаної осі.
Синтаксис:
numpy.average(a, axis=None, weights=None, returned=False)
Параметри:
x: array_like
Цей параметр визначає вихідний масив, середнє значення елемента якого ми хочемо обчислити. Буде зроблена спроба перетворення, якщо 'x' є масивом.
axis: int або None або tuple of ints (опціонально)
Цей параметр визначає вісь, уздовж якої обчислюватиметься середнє значення. За замовчуванням для осі встановлено значення «Немає», що обчислить середнє значення всіх елементів вихідного масиву. Відлік починається від кінця до початкової осі, коли значення осі від’ємне.
ваги: array_like (опціонально)
сестра Кет Тимпф
Цей параметр визначає масив, що містить ваги, пов’язані зі значеннями масиву. Кожне значення елементів масиву разом створює середнє відповідно до пов’язаної з ним ваги. Зважений масив може бути одновимірним або мати таку саму форму, що й вхідний масив. Якщо вага не пов’язана з елементом масиву, вага буде розглядатися як 1 для всіх елементів.
повернуто: bool (необов'язково)
За замовчуванням цей параметр має значення False. Якщо ми встановимо значення True, тоді буде повернуто кортеж із середнім значенням і sum_of_weights. Якщо значення False, повертається середнє значення. Зважена сума еквівалентна кількості елементів, якщо немає значень для ваг.
Повернення:
retval, [сума_ваг]: тип_масиву або подвійний
Ця функція повертає або середнє значення, або і середнє, і sum_of_weights, які залежать від повернутого параметра.
javascript window.open
Підвищує:
ZeroDivisionError
Ця помилка виникає, коли всі ваги вздовж осі встановлені на нуль.
TypeError
Ця помилка виникає, коли довжина зваженого масиву не збігається з формою вхідного масиву.
приклад 1:
import numpy as np data = list(range(1,6)) output=np.average(data) data output
Вихід:
[1, 2, 3, 4, 5] 3.0
У наведеному вище коді:
- Ми імпортували numpy з псевдонімом np.
- Ми створили список елементів 'дані' .
- Ми оголосили змінну 'вихід' і присвоєно повернуте значення середній() функція.
- Ми пройшли список 'дані' у функції.
- Нарешті, ми спробували надрукувати 'дані' і 'вихід'
У вихідних даних він показує середнє значення елементів списку.
приклад 2:
import numpy as np output=np.average(range(1,16), weights=range(15,0,-1)) output
Вихід:
5.666666666666667
приклад 3:
import numpy as np data=np.arange(12).reshape((4,3)) output = np.average(data, axis=1, weights=[1./4, 3./4, 5./4]) data output
Вихід:
array([[ 0, 1, 2], [ 3, 4, 5], [ 6, 7, 8], [ 9, 10, 11]]) array([ 1.44444444, 4.44444444, 7.44444444, 10.44444444])
У наведеному вище коді:
архітектура вулика
- Ми імпортували numpy з псевдонімом np.
- Ми створили масив 'дані' використовуючи діапазон() і np.reshape() функція.
- Ми оголосили змінну 'вихід' і присвоєно повернуте значення середній() функція.
- Ми пройшли масив 'дані' , установіть для осі значення 1 і зважений масив у функції.
- Нарешті ми спробували надрукувати 'дані' і 'вихід'
У вихідних даних він показує середнє значення кожного елемента стовпця в масиві.
Приклад 4:
import numpy as np data=np.arange(12).reshape((4,3)) data np.average(data, weights=[1./4, 3./4, 5./4])
Вихід:
array([[ 0, 1, 2], [ 3, 4, 5], [ 6, 7, 8], [ 9, 10, 11]]) Traceback (most recent call last): File '', line 1, in File 'C:Python27libsite-packages umpylibfunction_base.py', line 406, in average 'Axis must be specified when shapes of data and weights.' TypeError: Axis must be specified when shapes of data and weights differ.