【问题标题】:Holoviews Table does not visually preserves indexHoloviews 表不会在视觉上保留索引
【发布时间】:2020-05-17 13:36:29
【问题描述】:

代码如下:

import pandas as pd
import holoviews as hv
hv.extension('bokeh','matplotlib','plotly')

mydf = pd.DataFrame({
                     'x':np.arange(5),
                     'y':-np.arange(5),
                     'z':2+3*np.arange(5)
                    }
                   )
statdf = pd.DataFrame({'min':mydf.min(),
                       'max':mydf.max(),
                       'mean':mydf.mean()}).T
statdf

在下一个单元格中:

hv.Table(statdf)

然后你会得到这样的东西:

欢迎任何帮助或澄清!

谢谢!

【问题讨论】:

  • 试试hv.Table(statdf.reset_index())
  • 谢谢@Kenan。这肯定会将 my 索引作为列注入,这是我当前的解决方法 - 但我最感兴趣的是在行索引部分看到它 - 它只是属于它。

标签: python pandas dataframe holoviews pyviz


【解决方案1】:

1) 您可以将索引设置为您的关键维度:

hv.Table(statdf, kdims=['index'])

当使用散景后端时,这仍然会给你额外的 hv.Table() 索引。但这也可能是一个优势,当你正在排序并希望你的数据帧以原始顺序返回时.
但是,当您拥有 matplotlib 或 plotly 后端 hv.extension('plotly') 时,此解决方案将为您提供带有索引的数据框。


2) 另一种选择是使用面板数据框小部件。强>
这将显示带有原始索引的数据框,并且仍然允许排序等:

import panel as pn
pn.extension()

pn.widgets.DataFrame(statdf)

有关 pn.widgets.DataFrame() 的更多信息:
https://panel.holoviz.org/reference/widgets/DataFrame.html#widgets-gallery-dataframe


使用面板小部件生成的数据框:

【讨论】:

    【解决方案2】:

    试试:

    hv.Table(statdf.reset_index())

    我认为你不能更新holoviews中的索引列

    【讨论】:

      猜你喜欢
      • 2021-10-16
      • 2015-10-09
      • 1970-01-01
      • 1970-01-01
      • 2021-01-03
      • 2011-06-16
      • 2020-04-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多