使用Seaborn绘制DataFrame子集散点图时出现参数解释错误
错误原因及解决办法
核心问题:你通过切片得到的
female_height、female_size是独立于原始df的变量,但调用sns.scatterplot时仍传入原始df作为data参数。seaborn会在data指定的DataFrame中查找x、y对应的列名,而原始df里并没有female_height、female_size这两个列,因此触发报错。两种可行的解决思路:
- 直接使用独立变量,无需指定
data参数:
直接将切片得到的变量本身传给sns.scatterplot(x=female_height, y=female_size)x和y,不需要依赖data参数来匹配列名。 - 创建女性子集DataFrame后传入
data:
如果你的切片是从原始df中筛选女性行(比如female_df = df[df['gender'] == 'female']),则使用这个子集DataFrame作为data,并指定原始列名:
这里sns.scatterplot(x='height', y='size', data=female_df)'height'和'size'是原始df中对应的身高、鞋码列名,female_df是筛选后的女性子集。
- 直接使用独立变量,无需指定
内容的提问来源于stack exchange,提问作者royalTiger
相关产品推荐
相关产品推荐

