交互式/交互式黑盒功能

时间:2017-10-24 17:45:50

标签: python jupyter-notebook ipywidgets

我有一个blackbox函数,可以接受~10个整数输入。该函数返回一个pandas数据帧,我想捕获输出窗口(通过使用bbwidget.children)并显示在布局中的其他位置。到目前为止,互动/互动似乎是这个赌注。

我已经定义了一个小部件列表,用作该函数的输入;我可以将此列表传递给互动/互动吗?根据我到目前为止的尝试,我需要预先指定所有输入小部件,并在调用交互式时单独传递它们。

这是概念上我想做的事情(只是在函数调用中使用dictcomp来说明每个小部件映射到某个输入):

widgetlist = [list of int input widgets]
inputlist = [list of function inputs]

def bbfunc(inputlist):
    return df

bbwidget = ipyw.interactive(bbfunc, {k:v for k,v in zip(widgetlist,inputlist)})

是否有一些特殊的语法或选项可用于调用交互/交互,这可能允许这样做?

1 个答案:

答案 0 :(得分:1)

我想我找到了自己的答案:

import ipywidgets as ipyw
from IPython.display import display

def f(x,y):
    return x + y

x,y = 0,0
xwidget = ipyw.IntSlider(min=-10,max=30,step=1,value=10)
ywidget = ipyw.IntSlider(min=-10,max=30,step=1,value=10)
widgetdict = {k:v for k,v in zip(('x','y'),(xwidget,ywidget))}
testwidg = ipyw.interact(f, **widgetdict)