Python 交互式可视化能够将选定的数据写入数据框吗?

Python interactive visualization able to write selected data to dataframe?

我正在寻找一个交互式可视化 python 工具,它可以让我 select 一些数据点,然后只将这些数据点写入新的数据框、numpy 数组等. 例如,我想可视化一个交易员在一天内进行的所有股票交易以及逐笔报价的价格数据(y 轴价格,x 轴时间),然后是 select 的一个子集它们并将它们发送到新的数据帧以进行进一步处理。有没有这样的东西?我认为 Holoviews 可能但还没有弄清楚。谢谢,科林

的确,您可以使用 Holoviews 做到这一点。在this example中,它与Bokeh结合使用。保存脚本文件,在文件目录下打开命令window执行:"bokeh serve --myscript.py --show"。代码中的"arr"是选中数据点的数组。

import numpy as np
import holoviews as hv
import holoviews.plotting.bokeh

renderer = hv.renderer('bokeh')

points = hv.Points(np.random.randn(1000,2 )).opts(plot=dict(tools=['box_select', 'lasso_select']))
selection = hv.streams.Selection1D(source=points)

def selected_info(index):
    arr = points.array()[index]
    print(arr)
    if index:
        label = 'Mean x, y: %.3f, %.3f' % tuple(arr.mean(axis=0))
    else:
        label = 'No selection'
    return points.clone(arr, label=label).opts(style=dict(color='red'))

layout = points + hv.DynamicMap(selected_info, streams=[selection])

doc = renderer.server_doc(layout)
doc.title = 'HoloViews App'

严格来说,您不需要全息视图,您也可以单独使用散景来做到这一点。 bokeh website.

上有例子