如何从Bokeh ColumnDataSource中提取数据[英] How do I extract data from a Bokeh ColumnDatasource

本文是小编为大家收集整理的关于如何从Bokeh ColumnDataSource中提取数据的处理方法,想解了如何从Bokeh ColumnDataSource中提取数据的问题怎么解决?如何从Bokeh ColumnDataSource中提取数据问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

我试图避免使用columndatasource,而不是直接将pandas dataframe列传递到散景图.

很快我必须实施悬停的垫子,该垫子需要在columndatasource中使用数据.因此,我开始使用columndatasource.

现在,我正在创建一个框注释,我必须使用数据中的特定列的最大值来定义框的顶部边框.

我可以使用熊猫轻松地做到这一点:

low_box = BoxAnnotation(
    top=flowers['petal_width'][flowers['species']=='setosa'].max(),
    fill_alpha=0.1, fill_color='red')

,但我不知道如何从列datasource提取最大值.

有没有一种方法可以从中提取最大值,还是我的方法首先是错误的?

推荐答案

columnDatasource对象具有属性data,该对象将返回用于首先创建对象的Python字典.

from bokeh.plotting import ColumnDataSource

# define ColumnDataSource
source = ColumnDataSource(
    data=dict(
        x=[1, 2, 3, 4, 5],
        y=[2, 5, 8, 2, 7],
        desc=['A', 'b', 'C', 'd', 'E'],
    )
)

# find max for variable 'x' from 'source'
print( max( source.data['x'] ))

其他推荐答案

如果源输入是PANDAS DataFrame,则可以使用标准方法:

source = ColumnDataSource(
    data= pd.DataFrame( dict(
        x=[1, 2, 3, 4, 5],
        y=[2, 5, 8, 2, 7],
        desc=['A', 'b', 'C', 'd', 'E'],
    ))
)
print( source.data['x'].max() )

本文地址:https://www.itbaoku.cn/post/1727968.html