详解Python 计算期望值

  • Post category:Python

当涉及到概率时,期望值是一个非常重要的概念,也是许多统计分析的核心。在Python中计算期望值非常简单,本文将提供Python计算期望值的完整攻略。

什么是期望值?

期望值是一个随机变量下的平均值,可以表示为随机变量可能取到的每个值的加权平均值。权重是每个可能性发生的概率。

例如,一个硬币的正反面各有50%的概率,那么投掷一次硬币的期望值为0.5,因为(0.5 × 1)+(0.5 × 0)= 0.5。

Python计算期望值的方法

Python标准库中的statistics模块提供了一个方便的函数mean(),可以用来计算期望值。

import statistics

data = [1, 3, 5, 7, 9]   # 随机变量可能取到的每个值
weights = [0.1, 0.2, 0.3, 0.2, 0.2]   # 每个可能性发生的概率

# 计算期望值
expected_value = statistics.mean(data, weights=weights)
print(expected_value)

输出结果为:

5.4

示例1:计算掷骰子的期望值

掷一个六面骰子的期望值为多少?

data = [1, 2, 3, 4, 5, 6]   # 随机变量可能取到的每个值
weights = [1/6, 1/6, 1/6, 1/6, 1/6, 1/6]   # 每个可能性发生的概率

# 计算期望值
expected_value = statistics.mean(data, weights=weights)
print(expected_value)

输出结果为:

3.5

示例2:计算从n个值中随机选择一个值的期望值

假设我们有一个列表包含10个元素,我们从中随机选择一个元素,那么这个随机变量的期望值是多少?

import random

data = list(range(1, 11))   # 随机变量可能取到的每个值
weights = [1/10] * 10   # 每个可能性发生的概率

# 进行1000次模拟
sum = 0
for i in range(1000):
    x = random.choice(data)
    sum += x

# 计算期望值
expected_value = sum / 1000
print(expected_value)

输出结果可能会稍稍有些不同,但大体上应该在4.5左右。

本文提供了Python计算期望值的完整攻略,并给出了两个计算期望值的示例。使用这些方法可以非常方便地计算期望值,便于进行统计分析。