【问题标题】:Power BI dataframe table visualization [closed]Power BI 数据框表可视化 [关闭]
【发布时间】:2020-08-03 17:42:50
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: python pandas matplotlib powerbi


    【解决方案1】:

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

    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
    

    在新的 Power BI 文件中,

    1. Get Data/More/Other/Python Script
    

    粘贴:

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

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

    如果您想操作数据,请选择加载或转换数据。

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

    编辑

    当问题因为没有集中注意力而关闭时。我认为这就是 op 想要的。

    在 Power BI 中,从 python 脚本创建如下数据集:

    dataset = pd.DataFrame(np.random.randn(10, 8), columns=list('abcdefgh'))
    

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

    所以在 Power BI 的可视化中,添加以下 python 脚本(取自Conditional formatting for 2- or 3-scale coloring of cells of a table):

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

    从这里你得到:

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

    【讨论】:

    • 对不起,我可能不够清楚:我不需要用python加载数据,我已经预先加载了数据。我需要在 Py vusualizations 中设置一些复杂的可视化规则,因为 Power BI 格式工具还不够接近
    • OIC,我确实误会了你。您的问题已结束,因为它不够集中/清晰。帮助我准确了解您在寻找什么。我们将更新问题并希望得到帮助。您有一个 python 数据框,并且您想在 python 中创建一个具有条件颜色的表。这就是我的理解吗?如果您查看我的数据框,您能否接受它,将其放入您的问题中,然后给出一个您正在寻找的输出示例?
    • 在可视化面板上有很多可能的图表的象形图。其中之一是 [Py] - “Python 视觉效果”。它可以实现 python 代码来显示不同 python 库的可视化,如 matplotlib、seaborn 等。它可以接收 Power Bi 中加载的任何数据并制作数据帧。问题是这个元素的唯一工作方式是当 python 代码像这样 #autogenerated 代码:#import pandas #import matplolib.pyplot #dataset = df.read_csv(fields that you add to [Py]) matplotlib.pyplot.show () 我找不到将“数据集”可视化为表格的代码示例
    猜你喜欢
    • 2017-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-31
    • 1970-01-01
    相关资源
    最近更新 更多