我知道这可能是一个新手问题,但我被迫在没有适当背景知识的情况下通过 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()
条目。