为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕神8447489 2023-08-22 17:48:20
我正在尝试使用 Python 视觉效果制作散点图,因为此功能对于日期或时间数据来说并不是开箱即用的。R 不是一个选项,因为无法在 Web 服务上查看这些视觉效果。市场上提供的一组视觉效果没有给出预期的结果。这是我第一次尝试创建 Python 视觉对象和带有时间值的第一个视觉对象。我已阅读有关 Python 的 Power BI 文档。我阅读了有关 Pandas 和 Matplotlib 的文档。但是,我不明白为什么我的图形在 y 轴上显示 00:00。所以我来质疑我的数据。我的数据最初是在 Excel 中生成的,然后导入到 Power BI 中。这里有一个示例: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:00Power BI 中的结果:视觉的Python代码:import matplotlib.pyplot as pltimport matplotlib.dates as mdatesplt.scatter(dataset.Day_of_the_week,dataset.Time)date_format = mdates.DateFormatter('%H:%M')plt.gca().yaxis.set_major_formatter(date_format)plt.show()关于我做错了什么的任何提示吗?
查看完整描述

1 回答

?
ITMISS

TA贡献1871条经验 获得超8个赞

您的Time列未被识别为日期时间对象。您可以将列转换为日期时间,如下所示:


dataset.Time = pd.to_datetime(dataset.Time, format='%Y-%m-%d %H:%M:%S')

完整代码:


import matplotlib.pyplot as plt

import matplotlib.dates as mdates

import pandas as pd

from io import StringIO


d='''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'''

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()

https://img1.sycdn.imooc.com//64e4849c000174d706520486.jpg

查看完整回答
反对 回复 2023-08-22
  • 1 回答
  • 0 关注
  • 85 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信