如何使用 Python 在单个图形上绘制多种数据?



我知道这可能是一个新手问题,但我被迫在没有适当背景知识的情况下通过 Python 学习数据分析(我 vb.net 10 年前尝试过,仅此而已(,我需要非常快速地解决问题。

我被要求从这样的数据集开始绘制一个关于车辆速度的图表:

ID      CITY   SPEED          TIME
0       Milan   45   25/05/2018 17:35:30
1       Milan   60   25/05/2018 17:35:45
2       Milan   80   25/05/2018 17:36:00
....
2000    Rome    0    25/05/2018 21:05:15
2001    Rome    0    25/05/2018 21:05:30
2002    Rome    0    25/05/2018 21:05:45

我需要分析的每个数据集平均有 3000/4000 行,并包含我不需要的列。

现在我能够从文件 Excel 导入数据集,我创建了 3 个对象,其中包含从我需要的列中获取的数据:

speed = Dataset[['speed']]
time = Dataset[['time']]
city = Dataset[['city']]

我需要的是绘制一个图形,该图形将速度作为要可视化的主要数据,然后是时间(在x轴上(。当速度为 0 时,我还需要显示城市。

我知道如何绘制速度图,但我不知道该怎么做才能在我需要的地方获得时间和城市。

它应该是这样的: 我需要获取的图表

非常感谢任何形式的帮助,因为我不知道我需要做什么才能达到这个结果。

提前感谢!

起初我假设您的时间数据只是字符串格式?然后,您应该将其转换为日期时间格式,例如:

Dataset['time'] = pd.to_datetime(Dataset['time'])

完成此操作后,您可以明确绘制随时间推移的速度数据,例如:

plt.plot(Dataset['time'], Dataset['speed'])

之后,我会迭代

Dataset[Dataset['speed']==0]

并致电plt.annotate()

迭代哪个数据子集完全取决于您的零速数据:看起来有几个条目一个接一个,所以你应该先过滤,也许是按一些Dataset.groupby,可能只是选择每个组的first()条目。

最新更新