pandas可视化图表操作

本文通过箱线图分析了泰坦尼克号乘客的年龄分布特征,展示了年龄的中位数、四分位数及异常值,并进一步结合乘客等级分析了不同等级乘客的年龄分布差异。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


def _boxplot():
	"""
	箱线图:分析年龄分布。
	"""
    import pandas as pd
    import matplotlib.pyplot as plt
    train = pd.read_csv('./titanic.csv', encoding="gbk")
    any(train.age.isnull())  # 检查年龄是否有缺失
    # train.dropna(subset=["age"], inplace=True)  # 删除含有缺失年龄的观测,即行
    age_median = train.age.median()  # 计算所有人年龄的中位数  -> 28.0
    train.age.fillna(age_median, inplace=True)  # 使用fillna填充缺失值,inplace=True表示在原数据titanic_df上直接进行修改
    plt.style.use("ggplot")  # 使用ggplot的图形style
    plt.rcParams["font.sans-serif"] = "SimHei"
    plt.rcParams["axes.unicode_minus"] = False  # 设置中文、负号正常显示
    plt.figure(figsize=(5, 6))
    plt.boxplot(x=train.age,  # 绘图数据
                notch=True,  # 设置中位线处凹陷
                patch_artist=True,  # 设置用自定义颜色填充盒形图,默认白色填充
                showmeans=True,  # 以点的形式显示均值
                boxprops={"color": "black", "facecolor": "#F43D68"},  # 设置箱体属性,填充色and 边框色
                flierprops={"marker": "o", "markerfacecolor": "#59EA3A", "color": "#59EA3A"},  # 设置异常值属性,点的形状、填充色和边框色
                meanprops={"marker": "D", "markerfacecolor": "white"},  # 设置均值点的属性,点的形状、填充色
                medianprops={"linestyle": "--", "color": "#FBFE00"}  # 设置中位数线的属性,线的类型和颜色
                )
    plt.ylim(0, 85)  # 设置y轴的取值范围
    plt.title("乘客年龄箱线图", fontsize="xx-large", color="#DE0052")
    plt.tick_params(top="off", right="off")  # 去掉o箱线图的上方及右方边框的刻度标签
    plt.show()

展示如下:
乘客的平均年龄为30岁,有50%的人,年龄落在22~36岁之间(看箱体);中位线偏下,上相邻值到箱子的距离比下相邻值到箱子的距离长,异常值多在上限值之外,说明年龄整体右偏;有偏大的异常值在66岁以上。
在这里插入图片描述

# 在一个定量变量age的基础上增加一个定性变量pclass,分析两者的关系
from matplotlib import pyplot as plt
import seaborn as sns
import pandas as pd
t_df = pd.read_csv('./titanic.csv', encoding="gbk")  # 读取数据
age_median = t_df.age.median()  # 计算所有人年龄的中位数  -> 28.0
t_df.age.fillna(age_median, inplace=True)  # 使用fillna填充缺失值,inplace=True表示在原数据titanic_df上直接进行修改
plt.figure(figsize=(5, 6))
sns.boxplot(x="pclass", y="age", data=t_df, width=0.35)
plt.show()

在这里插入图片描述
end~

### 解决 Pandas 可视化失败的问题 当遇到 Pandas 数据框可视化失败的情况时,可能的原因及解决方案如下: #### 1. 库未正确安装或版本不兼容 确保所有必要的库都已正确安装并保持最新。对于可视化功能来说,除了 Pandas 自身外,通常还需要 Matplotlib 或 Seaborn 这样的绘图库支持。 ```bash pip install --upgrade pandas matplotlib seaborn ``` 如果已经安装但仍出现问题,则可能是不同包之间的版本冲突所致[^1]。 #### 2. 数据预处理不当 在尝试绘制图表之前,应该先确认数据已经被妥善清理过。这包括但不限于移除重复项以及填补或剔除缺失值等操作。例如,在创建任何图形前执行以下命令来检查是否有空缺的数据点存在: ```python import pandas as pd df = pd.read_csv('data.csv') print(df.isnull().sum()) ``` 一旦发现有问题的地方就要按照适当的方式加以修正[^3]。 #### 3. 设置显示环境变量 有时即使代码逻辑无误也可能由于运行环境中缺少合适的配置而导致无法正常渲染图像。可以通过设置 `%matplotlib inline` 来让 Jupyter Notebook 中自动展示图片;而在其他环境下则需调用 `plt.show()` 显示窗口[^4]: ```python %matplotlib inline # 对于Jupyter notebook有效 import matplotlib.pyplot as plt ... plt.plot(x, y) plt.xlabel('X Axis Label') plt.ylabel('Y Axis Label') plt.title('Title of Plot') plt.show() # 非notebook环境必需 ``` #### 4. 图形对象管理错误 另一个常见问题是忘记保存当前的 Axes 实例或将多个子图混淆在一起。建议每次作图时显式获取新的轴实例,并通过参数传递给后续函数调用来避免此类情况发生[^2]: ```python fig, ax = plt.subplots() ax.scatter(x_data, y_data) ``` 以上几点涵盖了大多数情况下造成 Pandas 可视化失败的主要因素及其对应的修复办法。当然具体到每一个项目还可能存在特殊状况需要单独排查。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值