如何在python中绘制“历史”数据

时间:2019-12-13 13:10:59

标签: python pandas graph

下午好,

我找不到绘制/绘制历史数据(时间序列)并要求您提供有关我的问题的反馈的方法。

我有一个csv文件,其中包含基于某些条件的pid的历史记录。该文件如下所示:

|2019-12-13 14:00:00| 123456 |
|2019-12-13 14:00:00| 345678 |
|2019-12-13 14:00:20| 123456 |
|2019-12-13 14:00:20| 345678 |
|2019-12-13 14:00:40| 123456 |
|2019-12-13 14:00:40| 345678 |
|2019-12-13 14:00:40| 678123 |
|2019-12-13 14:01:00| 123456 |
|2019-12-13 14:01:00| 678123 |

所以我们有:

  • 从2019-12-13 14:00:00到2019-12-13 14:01:00的pid 123456
  • pid 345678从2019-12-13 14:00:00到2019-12-13 14:00:40
  • pid 678123从2019-12-13 14:00:40到2019-12-13 14:01:00

我想在我的时间戳记的开始处绘制一个X轴线图,并在我的pids处绘制一个线图,以查看我的时间范围内流程的创建/死亡。

我将从将数据存储在pandas数据框中开始,但是后来我不知道如何前进。

有什么建议可以帮助我继续吗?

预先感谢

2 个答案:

答案 0 :(得分:3)

这就是我要做的:

# for shifting and naming lines
codes, names = df['pid'].factorize()

ax = (df.assign(pid_name=codes)
   .pivot(index='timestamp', columns='pid_name', values='pid')
   .plot()
)

# rename legend
h,l = ax.get_legend_handles_labels()
ax.legend(h, names)

输出:

enter image description here

答案 1 :(得分:2)

按“ pid”分组,然后在分组中将时间设置为索引,并将列重命名为pid的值。然后连接结果数据帧:

IMyInterface<out T1, T2>