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

What is the source of the index in a ColumnDataSource created from a pandas DataFrame?

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

中的行索引

特殊变量$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