首页 > 解决方案 > 使用 pandas 的 dataframe.plot 显示不同的数据

问题描述

我想使用绘图显示一些数据。我的数据框有 3 列,

Id  Round Time
1   1     158
1   2     169
1   3     172
2   1     156
2   2     168
2   3     176

在这个例子中,我想做的是在我的图中显示 2 行(使用不同的颜色),每行必须对应于 id,x 轴对应于轮数,y 轴对应于时间。

现在我正在这样做,这显然是错误的,

import pandas as pd

data = [[1,1,158],[1,2,169],[1,3,172],
        [2,1,156],[2,2,168],[2,3,176]]
cols = ['Id','Round','Time']
df = pd.DataFrame(data, columns=cols)

df.plot(kind='line',x='Round',y='Time')
plt.show()

如何区分每个不同的 ID?

非常感谢你!!

标签: pythonpython-3.xpandas

解决方案


您需要创建一个枢轴然后绘制它。

In [49]: df.pivot('Round','Id','Time').plot(kind='line')
Out[49]: <matplotlib.axes._subplots.AxesSubplot at 0x2362f31ae10>

In [50]: plt.show()

在此处输入图像描述


推荐阅读