tag*_*oma 2 ipython ipython-notebook
假设我使用Ipython笔记本与Scipy工厂进行了复杂的数值计算。现在,我想从Javascript中的代码(仍在IPYNB中)调用Scipy计算得出的变量。
以下是我愿意完成的工作的简单说明:
# Get a vector of 4 normal random numbers using numpy - the variable 'rnd'
import numpy as np
mu, sig = 0.05, 0.2
rnd = np.random.normal(loc=mu, scale=sig, size=4)
Run Code Online (Sandbox Code Playgroud)
现在,我想rnd在Javascript中使用上面的变量,用于说明目的:
%%javascript
element.append(rnd);
Run Code Online (Sandbox Code Playgroud)
上面的行返回消息错误:ReferenceError: rnd is not defined。
然后,如何在Ipython Notebook中的javascript代码中使用python变量?
使用%%JavascriptCell Magic 可能无法做到这一点。但是,您可以使用该IPython.display.Javascript(...)方法将Python字符串注入浏览器输出区域。这是您的代码片段的修改,似乎可以回答您的问题。
from IPython.display import Javascript
import numpy as np
mu, sig = 0.05, 0.2
rnd = np.random.normal(loc=mu, scale=sig, size=4)
## Now, I want to use the variable rnd above in Javascript, for illustrative purpose:
javascript = 'element.append("{}");'.format(str(rnd))
Javascript(javascript)
Run Code Online (Sandbox Code Playgroud)
将此代码粘贴到输入单元格中,每次执行该单元格时,新的和不同的随机数数组将显示在输出单元格中。
(代码已通过IPython 2.2版进行了测试)
| 归档时间: |
|
| 查看次数: |
2073 次 |
| 最近记录: |