Power BI Python 视觉效果 - 我的时间数据是否错误或者我的格式设置错误?

我正在尝试使用 Python 视觉效果制作散点图,因为此功能对于日期或时间数据来说并不是开箱即用的。R 不是一个选项,因为无法在 Web 服务上查看这些视觉效果。市场上提供的一组视觉效果没有给出预期的结果。


这是我第一次尝试创建 Python 视觉对象和带有时间值的第一个视觉对象。


我已阅读有关 Python 的 Power BI 文档。我阅读了有关 Pandas 和 Matplotlib 的文档。


但是,我不明白为什么我的图形在 y 轴上显示 00:00。所以我来质疑我的数据。


我的数据最初是在 Excel 中生成的,然后导入到 Power BI 中。这里有一个示例:


Day_of_the_week,Time

Monday,1899-12-30 08:15:00

Monday,1899-12-30 14:15:00

Tuesday,1899-12-30 16:15:00

Wednesday,1899-12-30 08:15:00

Thursday,1899-12-30 11:30:00

Thursday,1899-12-30 14:15:00

Thursday,1899-12-30 16:15:00

Friday,1899-12-30 11:30:00

Power BI 中的结果:

https://img3.mukewang.com/64e4848a0001717606580511.jpg

视觉的Python代码:


import matplotlib.pyplot as plt

import matplotlib.dates as mdates


plt.scatter(dataset.Day_of_the_week,dataset.Time)

date_format = mdates.DateFormatter('%H:%M')

plt.gca().yaxis.set_major_formatter(date_format)


plt.show()

关于我做错了什么的任何提示吗?


慕神8447489
浏览 130回答 1
1回答

ITMISS

您的Time列未被识别为日期时间对象。您可以将列转换为日期时间,如下所示:dataset.Time = pd.to_datetime(dataset.Time, format='%Y-%m-%d %H:%M:%S')完整代码:import matplotlib.pyplot as pltimport matplotlib.dates as mdatesimport pandas as pdfrom io import StringIOd='''Day_of_the_week,TimeMonday,1899-12-30 08:15:00Monday,1899-12-30 14:15:00Tuesday,1899-12-30 16:15:00Wednesday,1899-12-30 08:15:00Thursday,1899-12-30 11:30:00Thursday,1899-12-30 14:15:00Thursday,1899-12-30 16:15:00Friday,1899-12-30 11:30:00'''dataset = pd.read_csv(StringIO(d), header=0)dataset.Time = pd.to_datetime(dataset.Time, format='%Y-%m-%d %H:%M:%S')plt.figure()plt.scatter(dataset.Day_of_the_week,dataset.Time)date_format = mdates.DateFormatter('%H:%M')plt.gca().yaxis.set_major_formatter(date_format)plt.tight_layout()plt.show()
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python