从pandas DataFrame创建的ColumnDataSource中的索引源是什么?

时间:2017-06-14 23:27:52

标签: python bokeh

数据帧自然带有一个索引,即那些我们可以将它们视为行标题的集合。当我在bokeh中构造一个ColumnDataSource以捕获该数据框中的信息以便在HoverTool中进行绘图和注释时,我看到悬停工具有一个内置的( "index" , "$index" )工具提示可用。这个索引是否与我的数据框索引相同,或者它只是ColumnDataSource中的行索引

1 个答案:

答案 0 :(得分:3)

特殊变量$index只显示列数据源的行索引(它通常不是一个pandas索引,因为虽然CDS 可以从数据创建帧,他们不必须)。如果要包含pandas数据帧索引,可以添加它:

In [5]: d = pd.DataFrame(dict(a=[1,2,3], b=[2,3,4]))

In [6]: d.index
Out[6]: RangeIndex(start=0, stop=3, step=1)

In [7]: source = ColumnDataSource(d)

In [8]: source.add(d.index, 'index')

可以使用悬停工具访问此字段,其中包含任何标准CDS列的标准和一般@colname语法(因此在此特定情况下:@index