Power BI 数据框表格可视化

Yli*_*rst 2 python matplotlib pandas powerbi

Power BI 具有 Python 可视化元素。它从 Power BI 数据源的字段创建数据框,然后使用matplotlib.pyplot.show()方法将其可视化。

我需要以表格形式可视化数据框(能够根据不同的数据条件为单元格着色)

问题是,数据帧的表格可视化的任何示例都无法在 Power BI Py 元素内工作(并且没有说明问题是什么),即使它在 Anaconda 中工作也是如此。

有人可以展示 Power BI 数据框表可视化的工作示例吗?

run*_*out 5

为了使示例简单,我在数据框中创建了数据。这也可能是操纵的输出。

import pandas as pd
dataset = pd.DataFrame({'a': range(0,20,2), 'b': range(10,30,2)})
print(dataset)

    a   b
0   0  10
1   2  12
2   4  14
3   6  16
4   8  18
5  10  20
6  12  22
7  14  24
8  16  26
9  18  28
Run Code Online (Sandbox Code Playgroud)

在新的 Power BI 文件中,

1. Get Data/More/Other/Python Script
Run Code Online (Sandbox Code Playgroud)

粘贴到:

dataset = pandas.DataFrame({'a': range(0,20,2), 'b': range(10,30,2)})
# Note the use of pandas, not pd
Run Code Online (Sandbox Code Playgroud)

在导航器窗口中,选择 Python 下的“数据集”

如果您希望操作数据,请选择“加载”或“转换数据”。

加载后,您可以像任何其他表一样可视化并使用数据。

具有值颜色的 Python 数据

编辑

虽然问题已关闭,因为它没有集中。我认为这就是操作员正在寻找的。

在 Power BI 中,通过 python 脚本创建一个数据集,如下所示:

dataset = pd.DataFrame(np.random.randn(10, 8), columns=list('abcdefgh'))
Run Code Online (Sandbox Code Playgroud)

使用 matplotlib.pyplot 从表创建热图。您可以比本示例更广泛地控制热图。

因此,在 Power BI 的可视化中,添加以下 python 脚本(取自条件格式对表格单元格进行 2 或 3 级着色):

# The following code to create a dataframe and remove duplicated rows is always executed and acts as a preamble for your script: 

# dataset = pandas.DataFrame(a, b, c, d, e, f, g, h)
# dataset = dataset.drop_duplicates()

# Paste or type your script code here:

import pandas as pandas
import numpy as np
import matplotlib.pyplot as plt


#Round to two digits to print nicely
vals = np.around(dataset.values, 2)
#Normalize data to [0, 1] range for color mapping below
normal = (dataset - dataset.min()) / (dataset.max() - dataset.min())

fig = plt.figure()
ax = fig.add_subplot(111)
ax.axis('off')
the_table=ax.table(cellText=vals, rowLabels=dataset.index, colLabels=dataset.columns, 
                   loc='center', cellColours=plt.cm.RdYlGn(normal),animated=True)

plt.show()
Run Code Online (Sandbox Code Playgroud)

由此你得到:

Matplotlib 热图

如果您刷新数据,脚本将生成一个新的热图,如果您更新正在使用的任何数据,这就是您的 power bi 中应该发生的情况。希望这可以帮助。