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

如何在Seaborn箱线图中使用正年龄数据子集?解决类型错误

解决Seaborn箱线图的TypeError问题

嘿,这个错误我之前也碰到过,问题出在你筛选数据的语法上!你写的train['age' > -1]其实是在把字符串'age'和整数-1做比较,Python当然会报错——字符串和整数没法直接用>比较呀。

正确的数据筛选方式

你需要先定位到train数据集里的age列,再对列中的每个值做大于-1的判断,用这个布尔结果来筛选符合条件的行:

train[train['age'] > -1]

修正后的完整代码

把你的代码改成下面这样就可以正常运行了:

import seaborn as sns
import matplotlib.pyplot as plt  # 别忘了导入matplotlib的pyplot模块!

fig, ax = plt.subplots(nrows=1, ncols=1, figsize=(15, 8))
# 这里修正了数据筛选的语法
sns.boxplot(x='country_destination', y='age', data=train[train['age'] > -1], palette="muted", ax=ax)
ax.set_ylim([10, 60])

额外小提示

如果之后还是遇到数据相关的问题,可以先检查下age列的数据类型是不是数值型:

print(train['age'].dtypes)

如果显示是object类型,说明存在非数值的脏数据,可以先转成数值型(无效值会被转为NaN):

import pandas as pd
train['age'] = pd.to_numeric(train['age'], errors='coerce')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 08:03:36