红酒质量分类项目中sns.pairplot使用hue时出现KeyError问题
红酒质量分类项目中sns.pairplot的KeyError问题解析
问题核心原因
seaborn.pairplot的hue参数要求传入的DataFrame中必须存在指定的列。你执行sns.pairplot(df.iloc[:, :7], hue='pH')时,df.iloc[:, :7]是从原数据框截取前7列的子数据框,这个子数据框里并没有pH列,但你指定了用pH作为分组着色的依据,Seaborn找不到对应列,自然抛出KeyError。
当你调整切片范围包含pH列时,子数据框里有了这个字段,Seaborn可以正常读取pH的值来给不同数据点分组上色,所以能生成图像。
解决办法
根据你的需求二选一:
- 若需要保留
pH作为hue分组依据:确保传入pairplot的DataFrame包含pH列,比如调整切片范围(例如df.iloc[:, :8],如果pH是第8列),或者直接传入包含pH列的子数据框; - 若不需要按
pH着色:直接移除hue='pH'参数,执行sns.pairplot(df.iloc[:, :7])即可。
内容的提问来源于stack exchange,提问作者Visage
相关产品推荐
相关产品推荐

