绘制按ID分组的时间序列

mat*_*hew 1 python matplotlib pandas

我想绘制按ID分组的时间序列.所以那个时间是我的x值,'value'是我的y值.如何绘制由'id'1分组的x和y?

id   time  value 
1    1     0.3
1    2     0.6
1    3     0.9
2    1     0.1
2    2     0.3
2    3     0.6
3    1     0.2
3    2     0.4
3    3     0.5
Run Code Online (Sandbox Code Playgroud)

jez*_*ael 6

我想你可以使用pivot带有DataFrame.plot.bar或只DataFrame.plot:

import matplotlib.pyplot as plt

df = df.pivot(index='time', columns='id', values='value')
print (df)
id      1    2    3
time               
1     0.3  0.1  0.2
2     0.6  0.3  0.4
3     0.9  0.6  0.5

df.plot.bar()
plt.show()
Run Code Online (Sandbox Code Playgroud)

图形

df = df.pivot(index='time', columns='id', values='value')
print (df)
id      1    2    3
time               
1     0.3  0.1  0.2
2     0.6  0.3  0.4
3     0.9  0.6  0.5

df.plot()
plt.show()
Run Code Online (Sandbox Code Playgroud)

图形