如何筛选Pandas DataFrame中指定列为8的行绘制scatterplot散点图
实现方案
以下默认你已完成pandas、绘图库的导入,且待处理的DataFrame变量名为df,可根据你的实际命名替换。
方法1:使用Matplotlib实现
- 筛选目标列取值为
'8'的行,以下假设分类列名为category,请替换为你实际的列名:
filtered_df = df[df['category'] == '8']
- 绘制散点图,以下假设x轴取
x_col列、y轴取y_col列,请替换为你实际需要展示的列:
import matplotlib.pyplot as plt plt.scatter(x=filtered_df['x_col'], y=filtered_df['y_col']) # 按需补充坐标轴标签、标题等配置 plt.xlabel('X轴名称') plt.ylabel('Y轴名称') plt.show()
方法2:使用Seaborn实现(代码更简洁)
无需单独存过滤后的DataFrame,可直接在绘图参数中完成筛选:
import seaborn as sns import matplotlib.pyplot as plt sns.scatterplot(data=df[df['category'] == '8'], x='x_col', y='y_col') plt.show()
注意事项
- 如果你的分类列存储的是数值类型而非字符串,把判断条件里的
'8'改为8即可 - 如果后续需要同时对比两类数据的散点分布,无需提前筛选,直接给
sns.scatterplot传入hue='category'参数即可自动区分颜色
内容的提问来源于stack exchange,提问作者Adam
相关产品推荐
相关产品推荐

