← 返回题库
初级

古典概率Titanic生还

未完成 100%
初级参考 完整示例代码供参考,建议自己理解后重新输入
def solve():
    import pandas as pd
    import matplotlib.pyplot as plt
    import matplotlib.patches as patches
    url = 'https://data.zuihe.com/titanic.csv'
    df = pd.read_csv(url)
    n = len(df)
    p_s = round(df['survived'].mean(), 4)
    p_f = round((df['sex']=='female').mean(), 4)
    p_sf = round(((df['survived']==1)&(df['sex']=='female')).sum()/n, 4)
    print(f'P(生还)={p_s}, P(女性)={p_f}')
    print(f'P(生还∩女性)={p_sf}')
    print(f'P(生还|女性)={round(p_sf/p_f,4)}')
    # 绘制概率条形图
    labels = ['生还','女性','生还∩女性']
    values = [p_s, p_f, p_sf]
    plt.bar(labels, values, color=['steelblue','orange','green'], edgecolor='black')
    plt.ylabel('概率'); plt.title('Titanic概率分布'); plt.tight_layout(); plt.show()

示例

输入
solve()
期望输出
P(生还)=0.3838, P(女性)=0.3524
P(生还∩女性)=0.2615
P(生还|女性)=0.7421
Python 代码 🔒 登录后使用
🔒

登录后即可练习

注册免费账号,在浏览器中直接运行 Python 代码