Power BI中的Python可视化中时间序列的最佳数据格式是什么?

时间:2018-08-09 08:11:50

标签: python powerbi

截至2018年8月9日,Power BI支持Python可视化。他们以前已经支持R Visualizations,但是我仍然觉得这些集成有点尴尬。让我告诉你我的意思:


假设您有一个包含时间序列数据的表,其中第一行包含名称“ Date”和“ Value”,内容分别是格式为yyyy-mm-dd的日期和数字: / p>

Date,Value
2017-01-12,1
2017-01-13,4
2017-01-14,2
2017-01-15,4
2017-01-16,2
2017-01-17,2
2017-01-18,2
2017-01-19,5
2017-01-20,5
2017-01-21,5
2017-01-22,5
2017-01-23,6
2017-01-24,3
2017-01-25,6
2017-01-26,6
2017-01-27,5
2017-01-28,8
2017-01-29,4
2017-01-30,2

如果将该数据集存储为timerseries.csv之类的文本文件,并使用导入数据| Text / CSV ,您会在 VISUALIZATIONS |下找到表格FIELDS ,就像这样:

enter image description here

您可以使用 VISUALIZATIONS检查表|表并获取:

enter image description here

使用此设置,您应该认为自己已经准备好使用这个美丽的新功能来释放 Py VISUALIZATION 的功能:

enter image description here

如果单击该按钮,则会显示以下内容:

enter image description here

然后告诉您

  

将字段拖放到“可视化”窗格的“值”区域中以开始   脚本

如果以Value开头,则会在编辑器中获得以下默认设置:

enter image description here

如果您按照Power BI团队在August 2018 feature summary中给出的说明进行操作,则应该可以很容易地绘制matplotlib图。

enter image description here

但是,这对我而言现在是终点。

如果编辑器中的默认数据框共享标准数据框的功能,则您应该能够引用该数据框中的一列,并使用此代码段轻松进行绘图:

import matplotlib.pyplot as plt
plt.plot(dataset['Value'])
plt.show()

但是当您运行它时,onlu返回一个错误:

enter image description here

至少可以说出细节。

我也尝试导入DatesValues,并且尝试使用dataset.plot()直接绘制数据框,但是似乎没有任何效果。我还尝试过将日期层次结构剥离为简单日期:

enter image description here

那么,有关数据格式,导入方法和/或代码段的任何想法?

谢谢您的任何建议!

编辑1-遵循Foxan Ng的回答:

在“值”字段中添加两列:

enter image description here

这仍然返回带有以下内容的错误:

  

TypeError:from_bounds()带有4个位置参数,但给出了6个位置

1 个答案:

答案 0 :(得分:2)

我没有遇到您提到的错误。您是否已将两列都放入Values中?

import matplotlib.pyplot as plt
plt.plot(dataset['Date'], dataset['Value'])
plt.show()

images


已更新M查询:

let
    Source = Csv.Document(File.Contents("C:\your-directory..\timerseries.csv"),[Delimiter=",", Columns=2, Encoding=1252, QuoteStyle=QuoteStyle.None]),
    #"Promoted Headers" = Table.PromoteHeaders(Source, [PromoteAllScalars=true]),
    #"Changed Type" = Table.TransformColumnTypes(#"Promoted Headers",{{"Date", type date}, {"Value", Int64.Type}})
in
    #"Changed Type"

timeseries