← 返回题库
初级

性别工资差异(含箱线图)

未完成
初级参考 完整示例代码供参考,建议自己理解后重新输入
def solve():
    import pandas as pd
    import statsmodels.api as sm
    import matplotlib.pyplot as plt
    
    df = pd.read_csv('https://liangdaima.com/static/data/wooldridge/wage1.csv')
    
    male_wage = df[df['female'] == 0]['wage']
    female_wage = df[df['female'] == 1]['wage']
    
    plt.figure(figsize=(8,6))
    plt.boxplot([male_wage, female_wage], labels=['男性', '女性'], patch_artist=True,
                boxprops=dict(facecolor='lightblue'))
    plt.title('性别工资分布箱线图', fontsize=14)
    plt.ylabel('小时工资(美元)', fontsize=12)
    plt.grid(axis='y', alpha=0.3)
    plt.tight_layout()
    plt.show()
    
    X = sm.add_constant(df[['female', 'educ', 'exper', 'tenure']])
    model = sm.OLS(df['wage'], X).fit()
    print(f'{model.params["female"]:.2f}')

示例

输入
solve()
期望输出
-1.81
Python 代码 🔒 登录后使用
🔒

登录后即可练习

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