【问题标题】:HoloViews Pandas Pivot displayed in HV LayoutHV 布局中显示的 HoloViews Pandas Pivot
【发布时间】:2020-02-28 14:36:32
【问题描述】:

我有一个 pandas df,我已将其转为下面的视图,这是分类数据的计数:

Status       Green     Red      Yellow  
Brand        
B1           20        2        10
B2           10        4         0
B3            5       10         4

有没有办法可以将此表转换为 hv.Table?我尝试了几种不同的方法,包括将我的初始数据集设置为 HV.Dataset,但不断通过错误。

我只想在我正在构建的报告中包含数据表及其随附的图表。

提前感谢您的任何帮助/建议。

亲切的问候,

【问题讨论】:

    标签: python pandas holoviews


    【解决方案1】:

    如果我做这样的事情,我会得到一个看起来像你的 df,但是 hv.Table() 没有给出任何错误,所以像这样似乎没有问题:

    # import libraries
    import numpy as np
    import pandas as pd
    import holoviews as hv
    hv.extension('bokeh')
    
    # create sample data
    status = np.random.choice(['Green', 'Yellow', 'Red'], size=100)
    brand = np.random.choice(['B1', 'B2', 'B3'], size=100)
    df = pd.DataFrame({'brand': brand, 
                       'status': status})
    
    # create same grouped data as in the question
    grouped = df.groupby(['brand', 'status'])['status'].count().unstack().reset_index()
    
    # create holoviews table from the grouped data
    hv.Table(grouped)
    

    【讨论】:

    • 再次感谢您帮助 Sander,效果很好。我想知道为什么我在使用 df.pivot_table 时无法达到相同的效果,但是 groupby 可以完成这项工作!
    • 在 pandas 中,我通常更喜欢 .groupby() ,然后是 .unstack() 来获取数据透视表。它工作得很好,我只需要记住 .groupby() 是如何工作的 :)
    • 嘿 Sander,我也可以有条件地格式化 hv.Table 中的单元格吗?像上面的 10 = 绿色。我已经能够在 pandas 中使用:#Heatmap of table def change_colours(val): color = 'red' if val => 10 else 'green' return 'color: %s' % color 但是当我尝试重置索引并转换为 hv.Table 我得到''Styler'对象没有属性'reset_index'”错误,删除reset_index我得到的后端不支持格式错误。只是想知道它们是否是hv中的一种方式。实现相同的绘图选项,例如“.opts(bgcolour=)
    • 最好将您的其他问题发布到:discourse.holoviz.org
    猜你喜欢
    • 2023-03-21
    • 1970-01-01
    • 2020-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-01
    相关资源
    最近更新 更多