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

Как получить дисперсию списка в Python?

Эта статья показывает, как рассчитать дисперсию данного списка численных входов в Python. В случае, если вы посещали свой последний курс статистического тера в несколько лет назад, давайте быстро откроем определение дисперсии: это среднее квадратное отклонение элементов списка из среднего значения. Итак, как рассчитать … Как получить дисперсию списка в Python? Подробнее “

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

Эта статья показывает, как рассчитать дисперсию данного списка численных входов в Python.

Если вы посещали свой последний курс статистики несколько лет назад, давайте быстро переправим Определение дисперсии : Это Среднее квадратное отклонение элементов списка от среднего значения.

Итак, как рассчитать дисперсию данного списка в Python?

Python 3.x не имеет встроенного метода для расчета дисперсии. Вместо этого используйте любое из следующих способов:

  1. С внешней зависимостью: Импортируйте Numpy Library с Импорт numpy как np и использовать np.var (список) функция.
  2. Без внешней зависимости: рассчитать среднее значение как Сумма (список)/len (список) И затем рассчитайте дисперсию в заявлении о понимании списка.

Давайте посмотрим на обоих методах в Python Code:

# 1. With External Dependency
import numpy as np
lst = [1, 2, 3]
var = np.var(lst)
print(var)
# 0.6666666666666666


# 2. W/O External Dependency
avg = sum(lst) / len(lst)
var = sum((x-avg)**2 for x in lst) / len(lst)
print(var)
# 0.6666666666666666

1. В первом примере вы создаете список и передаете его как аргумент для np.var (lst) Функция Numpy Bibly. Интересно, что Numpy Library также поддерживает вычисления на базовые типы коллекций, не только на Numpy Armays. Если вам нужно улучшить свои навыки Numpy, Ознакомьтесь с нашим углубленным руководством блога Отказ

2. Во втором примере вы сначала вы рассчитываете среднее, как Сумма (список)/len (список) . Затем вы используете выражение генератора (см. Понимание списка ) для динамического генерирования сбора индивидуальных квадратных различий, один из элементов списка, используя выражение (X-AVG) ** 2 Отказ Вы суммируете их и нормализуете количество элементов списка для получения дисперсии.

Оба метода приводят к тому же выходу.

Головоломка : Попробуйте изменить элементы в списке, чтобы дисперс 1,0 вместо 0,66666666666 в нашей интерактивной оболочке:

Это абсолютный минимум, который вам нужно знать о расчете базовой статистики, такой как дисперсия в Python. Но это гораздо больше, и изучение других способов, и альтернативы на самом деле сделают вас лучшим кодировщиком. Итак, давайте погрузимся в некоторые связанные вопросы и темы, которые вы можете узнать!

Дисперсия внутри Python Pandas

Хотите рассчитать дисперсию столбца в вашем Пандас Dataframe?

Вы можете сделать это, используя pd.var () Функция, которая рассчитывает дисперсию вдоль всех столбцов. Затем вы можете получить столбец, который вы заинтересованы в после вычисления.

import pandas as pd

# Create your Pandas DataFrame
d = {'username': ['Alice', 'Bob', 'Carl'],
     'age': [18, 22, 43],
     'income': [100000, 98000, 111000]}
df = pd.DataFrame(d)

print(df)

Ваше dataframe выглядит так:

имя пользователя возраст доход
0 Алиса 18 100000
1 Боб 22 98000
2 Карьера 43 111000

Вот как вы можете рассчитать дисперсию всех столбцов:

print(df.var())

Выходная дисперсия всех столбцов:

age       1.803333e+02
income    4.900000e+07
dtype: float64

Чтобы получить дисперсию отдельного столбца, доступа к нему, используя простую индексацию:

print(df.var()['age'])
# 180.33333333333334

Вместе код выглядит следующим образом. Используйте интерактивную оболочку, чтобы играть с ним!

Дисперсия в Numpy

Пакет Python для науки о науке данных Numpy Также имеет отличную статистику функциональность. Вы можете рассчитать все основные статистические данные, такие как средний , медиана, дисперсия и стандартное отклонение на Numpy массивов. Просто импортируйте Numpy Library и используйте np.var (а) Способ расчета среднего значения Numpy Array А Отказ

Вот код:

import numpy as np

a = np.var([1, 2, 3])
print(np.average(a))
# 0.6666666666666

Переменная списка Python без Numpy

Хотите рассчитать дисперсию данного списка без использования внешних зависимостей?

Рассчитайте среднее, как Сумма (список)/len (список) А затем рассчитайте дисперсию в выражении генератора.

avg = sum(lst) / len(lst)
var = sum((x-avg)**2 for x in lst) / len(lst)
print(var)
# 0.6666666666666666

Вы сначала рассчитаете среднее, как Сумма (список)/len (список) Отказ

Затем вы используете выражение генератора (см. Понимание списка ) для динамического генерирования сбора индивидуальных квадратных различий, один из элементов списка, используя выражение (X-AVG) ** 2 Отказ

Вы суммируете их и нормализуете количество элементов списка для получения дисперсии.

Python List Стандартное отклонение

Стандартное отклонение определяется как отклонение значений данных из среднего ( Wiki ). Он используется для измерения дисперсии набора данных. Вы можете рассчитать стандартное отклонение значений в списке с помощью статистического модуля:

import statistics as s

lst = [1, 0, 4, 3]
print(s.stdev(lst))
# 1.8257418583505538

Альтернатива – использовать Numpy’s np.std (lst) метод.

Список Python Median

Какая медиана списка Python? Формально медиана является «значением, разделенным выше половиной от нижней половины образец данных» ( Wiki ).

Как рассчитать медиану списка Python?

  • Сортируйте список элементов, используя отсортировано () Встроенная функция в Python.
  • Рассчитайте индекс среднего элемента (см. Графику), разделив длину списка на 2, используя целочисленное разделение.
  • Вернуть средний элемент.

Вместе вы можете просто получить медиану, выполнив выражение Средний (доход) [Лен (доход)//2] Отказ

Вот пример конкретного кода:

income = [80000, 90000, 100000, 88000]

average = sum(income) / len(income)
median = sorted(income)[len(income)//2]

print(average)
# 89500.0

print(median)
# 90000.0

Похожие учебники:

  • Подробное руководство Как сортировать список в Python в этом блоге Отказ

Список Python означает

Среднее значение точно так же, как среднее значение: суммируйте все значения в вашей последовательности и разделите по длине последовательности. Вы можете использовать либо расчет Сумма (список)/len (список) или вы можете импортировать статистика Модуль и звонок Среднее (список) .

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

lst = [1, 4, 2, 3]

# method 1
average = sum(lst) / len(lst)
print(average)
# 2.5

# method 2
import statistics
print(statistics.mean(lst))
# 2.5

Оба метода эквивалентны. статистика Модуль имеет более интересные вариации Среднее () Метод ( Источник ):

иметь в виду() Арифметическое среднее («среднее») данных.
Медиана () Среднее (среднее значение) данных.
median_low () Низкий медиана данных.
median_high () Высокий медиана данных.
median_grouped () Средний или 50-й процентиль, сгруппированные данные.
Режим() Режим (самое распространенное значение) дискретных данных.

Они особенно интересны, если у вас есть два средних значения, и вы хотите решить, какой из них взять.

Список Python Min Max

Есть Встроенные функции Python которые рассчитают Минимальный и Максимум данного списка. Мин (список) Метод рассчитывает минимальное значение и Макс (список) Метод рассчитывает максимальное значение в списке.

Вот пример минимальных, максимальных и средних вычислений в списке Python:

import statistics as s

lst = [1, 1, 2, 0]
average = sum(lst) / len(lst)
minimum = min(lst)
maximum = max(lst)

print(average)
# 1.0

print(minimum)
# 0

print(maximum)
# 2

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

Резюме : Python 3.x не имеет встроенного метода для расчета дисперсии. Вместо этого используйте любое из следующих способов:

  1. С внешней зависимостью: Импортируйте Numpy Library с Импорт numpy как np и использовать np.var (список) функция.
  2. Без внешней зависимости: рассчитать среднее значение как Сумма (список)/len (список) И затем рассчитайте дисперсию в заявлении о понимании списка.

Если вы продолжаете бороться с теми основными командами Python, и вы чувствуете застрявшие в своем прогрессе обучения, у меня есть что-то для вас: Python One-listers (Amazon Link).

В книге я дам вам тщательный обзор темы критических компьютерных наук, таких как машинное обучение, регулярное выражение, наука о данных, Numpy и Python Basics – все в одной линейке кода Python!

Получите книгу от Amazon!

Официальная книга Описание: Python One-Listers покажет читателям, как выполнить полезные задачи с одной строкой кода Python. Следуя краткому переподготовку Python, книга охватывает важные продвинутые темы, такие как нарезка, понимание списка, вещание, функции лямбда, алгоритмы, регулярные выражения, нейронные сети, логистические регрессии и др .. Каждая из 50 секций книг вводит проблему для решения, проходит читателя через навыки, необходимые для решения этой проблемы, затем предоставляет краткое однонаправленное решение Python с подробным объяснением.

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

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

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

Оригинал: “https://blog.finxter.com/how-to-get-the-variance-of-a-list-in-python/”