Рубрики
Без рубрики

Как рассчитать средневзвешенное средневзвечное массивовое массив в Python?

Формирование проблем: Как рассчитать средневзвешенное средневзвешевое количество элементов в Numpy Array? Определение взвешенного среднего: каждый элемент массива имеет ассоциированный вес. Средневзвешенная средняя сумма всех элементов массива, надлежащим образом взвешенным, разделенным на сумму всех весов. Вот проблема с примером: быстрый раствор: прежде чем мы обсудим решение … Как рассчитать средневзвешенное среднее массивовое массив в Python? Прочитайте больше “

Автор оригинала: Chris.

Проблема разработки: Как рассчитать средневзвешенное среднее значение элементов в Numpy Array?

Определение средневзвешенное Средство: Каждый элемент массива имеет ассоциированный вес. Средневзвешенная средняя сумма всех элементов массива, надлежащим образом взвешенным, разделенным на сумму всех весов.

Вот проблема с примерами:

Быстрое решение: Прежде чем мы подробно обсудим решение, вот решение, которое решает эту точную проблему:

import numpy as np

array = np.array([[1, 0, 2],
                  [1, 1, 1]])
weights = np.array([[2, 1, 1],
                    [1, 1, 2]])

print(np.average(array, weights=weights))
# 1.0

Хотите узнать, как это работает – и как вы можете в среднем вдоль оси? Давайте погрузиться глубже в проблему рядом!

Средневзвешенное средневзвенно с функцией np.average () numpy

Numpy’s np.average (arr) Функция вычисляет среднее значение всех числовых значений в небольшом массиве. При использовании только с одним аргументом массива оно вычисляет численное среднее значение всех значений в массиве, независимо от размеры массива. Например, выражение np.average ([[1,2], [2,3]]) Результаты в среднем значении (1 + 2 + 2 + 3)/4.0 Отказ

Тем не менее, что, если вы хотите рассчитать средневзвешенное среднее небольшой массива? Другими словами, вы хотите перевешивать t Некоторые значения массива и underweight другие.

Вы можете легко сделать это с Numpy’s средний Функция, передавая аргумент весов на 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) в результате. Это может помочь вам нормализовать вывод. В большинстве случаев вы можете пропустить этот аргумент.
average(a, axis=None, weights=None, returned=False)
a Нет или INT или кортеж ints: ось вдоль которой в среднем массив Ассортимент массива: массив весов, связанных с значениями в массиве A. Это позволяет настроить вес в среднем каждом элементе в Boolean: Если false, возвращает среднее значение. Если true, возвращает кортеж (среднего, сумма_of_ovest), чтобы вы могли легко нормализовать средневзвешенные средневзвешевые. Массив: Array содержит данные, которые необходимо усреднить. Может быть многомерным, и это не должно быть небольшой массив, но обычно это

Осуждаемое средневзвешенное среднее вдоль оси (головоломка)

Вот пример, как в среднем вдоль столбцов 2D Numpy Array с указанными весами для обоих строк.

import numpy as np

# daily stock prices
# [morning, midday, evening]
solar_x = np.array(
    [[2, 3, 4], # today
     [2, 2, 5]]) # yesterday

# midday - weighted average
print(np.average(solar_x, axis=0, weights=[3/4, 1/4])[1])

Что такое выход этой головоломки? * Уровень начинающих * (решение ниже)

Вы также можете решить эту головоломку в нашем приложении обучения на основе головоломки (100% бесплатно): Проверьте свои навыки сейчас!

Объяснение головоломки

Numpy – популярная библиотека Python для науки о данных, ориентируясь на массивы, векторы и матрицы.

Эта головоломка вводит среднюю функцию из Numpy Library. Применительно к 1D Numpy Array эта функция возвращает среднее значение значений массива. При нанесении на 2D Numpy массив просто сплющает массив. Результатом является среднее значение сплющенного 1D массива.

В головоломке у нас есть матрица с двумя рядами и три колонны. Матрица дает цены на акции Solar_x склад. Каждая строка представляет цены на один день. Первый столбец определяет утреннюю цену, вторую полденью цену, а третью вечернюю цену.

Теперь предположим, мы не хотим знать среднее значение сплющенной матрицы, но в среднем цене в полдень. Более того, мы хотим избыточный вес самую последнюю цену акций. Сегодня приходится три четверти и вчера на четверть окончательного среднего значения.

Numpy Включает это через Вес Параметр в сочетании с Ось параметр.

  • Вес Параметр определяет вес для каждого значения, участвующего в среднем расчете.
  • Ось Параметр указывает направление, вдоль которого следует рассчитать среднее значение.

В 2D матрице строка указана как Ось = 0 и колонна как ось = 1 Отказ Мы хотим узнать три средних ценности, по утрам, полденью и вечером. Мы рассчитываем среднее по ряду, то есть Ось = 0 Отказ Это приводит к трем средним значениям. Теперь мы возьмем второй элемент, чтобы получить добрую дисперсию.

Куда пойти отсюда?

Хотите процветать в науке о данных? Master Numpy сначала. Вам нужно знать самые важные концепции (такие как аргумент оси), прежде чем погрузиться в машину обучения и науке о данных. Только тогда вы можете правильно понимать алгоритмы и построить вашу карьеру на прочной основе.

Чтобы помочь вам осуществить это, мы написали легко читаемое, веселое введение в Numpy Biblic. Это 100% на основе обучения на основе головоломки: вы решаете номинальные загадки NaMpy, проверьте свои навыки и улучшаются со временем. Проверьте это, это весело! 🙂.

Решение

2.75

Работая в качестве исследователя в распределенных системах, доктор Кристиан Майер нашел свою любовь к учению студентов компьютерных наук.

Чтобы помочь студентам достичь более высоких уровней успеха Python, он основал сайт программирования образования Finxter.com Отказ Он автор популярной книги программирования Python One-listers (Nostarch 2020), Coauthor of Кофе-брейк Python Серия самооставленных книг, энтузиаста компьютерных наук, Фрилансера и владелец одного из лучших 10 крупнейших Питон блоги по всему миру.

Его страсти пишут, чтение и кодирование. Но его величайшая страсть состоит в том, чтобы служить стремлению кодер через Finxter и помогать им повысить свои навыки. Вы можете присоединиться к его бесплатной академии электронной почты здесь.