← 返回题库
初级

泰坦尼克按性别舱位统计生存率

未完成
初级参考 完整示例代码供参考,建议自己理解后重新输入
def solve():
    import sqlite3
    import pandas as pd
    conn = sqlite3.connect(':memory:')
    df = pd.read_csv('https://liangdaima.com/static/data/titanic.csv')
    df.to_sql('titanic', conn, index=False)
    result = conn.execute('SELECT sex, pclass, COUNT(*) AS total, SUM(CASE WHEN survived = 1 THEN 1 ELSE 0 END) AS survived, ROUND(100.0 * SUM(CASE WHEN survived = 1 THEN 1 ELSE 0 END) / COUNT(*), 2) AS survival_rate FROM titanic GROUP BY sex, pclass').fetchall()
    conn.close()
    return result

示例

输入
print(solve())
期望输出
[('female', 1, 94, 91, 96.81), ('female', 2, 76, 70, 92.11), ('female', 3, 144, 72, 50.0), ('male', 1, 122, 45, 36.89), ('male', 2, 108, 17, 15.74), ('male', 3, 347, 47, 13.54)]
Python 代码 🔒 登录后使用
🔒

登录后即可练习

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