如何在Bokeh DataTable中替换索引列以显示自定义内容而非默认行号
解决方案
Bokeh的ColumnDataSource默认不会把pandas索引纳入自动生成的列定义,同时DataTable默认会展示自带的数字行号,所以会出现自定义索引不显示的问题。你只需要修改生成表格的最后部分代码即可:
方式一:不改动原有DataFrame结构
# 手动在列定义最前面添加索引列,索引对应的field固定为`index` Columns = [TableColumn(field="index", title="Index")] + [TableColumn(field=Ci, title=Ci) for Ci in evolution_data.columns] # 加index_position=None关闭默认的数字行号 data_table = DataTable(columns=Columns, source=ColumnDataSource(evolution_data), index_position=None) show(data_table)
方式二:将索引转为普通列后生成表格
# 把索引重置为普通列 evolution_data.reset_index(inplace=True) Columns = [TableColumn(field=Ci, title=Ci) for Ci in evolution_data.columns] # 关闭默认数字行号 data_table = DataTable(columns=Columns, source=ColumnDataSource(evolution_data), index_position=None) show(data_table)
两种方式都可以实现你要的效果,index_position参数用于控制默认数字行号的显示位置,设为None即可完全关闭默认行号,自定义的星期索引列会自动展示在表格最左侧。
内容的提问来源于stack exchange,提问作者Rinnosuke
相关产品推荐
相关产品推荐

