首页 > 解决方案 > 如何制作 xy 列的散点图,但基于“id”列的值

问题描述

我有一个这样的数据框。

 ID        X     Y CLASS  
  A      123   456     0 
  A      789   121     1 
  A      456   333     1
  B      111   123     1   
  B      156   123     1
  C      167   189     1
  C      567   789     1

我想为“id”分组相同的值,并根据同一图中的 xy 轴制作不同的散点图。现在,我正在使用

groups = df.groupby('id')

这会创建单独的组并手动绘制不同的 id,但我想在单个图像中绘制所有散点图并根据类将它们分开。对不起,如果问题太“菜鸟”。谢谢你的时间。

标签: pythonpandasmatplotlib

解决方案


要在同一个情节中执行此操作,您可以使用:

import pandas as pd
import matplotlib.pyplot as plt

for name, group in df.groupby('ID'):
    plt.scatter(group.X, group.Y, label=name)
plt.legend()
plt.show()

推荐阅读