You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Matplotlib.pyplot基于Kaggle泰坦尼克数据集绘制年龄箱线图出现空白图的问题求助

解决Matplotlib绘制泰坦尼克年龄箱线图出现空白的问题

嘿,我明白你现在在专门啃Matplotlib,碰到箱线图空白的问题确实让人挠头!咱们一步步来排查并解决它:

最核心的原因:缺失值未处理

泰坦尼克数据集的age列存在大量缺失值(NaN),而Matplotlib的boxplot函数没办法直接处理包含NaN的数组,这就是你得到空白图的关键原因。

解决步骤:

  • 第一步:清理缺失值
    先把age列里的NaN值过滤掉,用Pandas的dropna()方法就能轻松搞定:

    # 清理年龄列的缺失值
    clean_age = dataframe['age'].dropna()
    

    你可以先查一下缺失值的数量,确认这个问题:

    print(f"年龄列缺失值数量:{dataframe['age'].isna().sum()}")
    
  • 第二步:用清理后的数据绘制箱线图
    用处理好的clean_age来绘制,就能得到正常的箱线图了。完整的代码示例如下:

    import matplotlib.pyplot as plt
    import pandas as pd
    
    # 加载泰坦尼克数据集(假设你已经完成这一步)
    # dataframe = pd.read_csv('titanic.csv')
    
    # 清理缺失值
    clean_age = dataframe['age'].dropna()
    
    # 绘制箱线图
    plt.boxplot(clean_age)
    # 可以添加标题和坐标轴标签让图表更清晰
    plt.title('Titanic Passenger Age Distribution')
    plt.ylabel('Age')
    plt.show()
    

其他可能的小细节

如果你是在Jupyter Notebook环境中运行代码,别忘了加上%matplotlib inline魔法命令,这样图表才能正常显示在单元格里:

%matplotlib inline
import matplotlib.pyplot as plt

这样调整后,你应该就能看到正常的年龄箱线图啦!

内容的提问来源于stack exchange,提问作者user16416653

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.30 13:52:44