访问Jupyter扩展中的数据对象

时间:2018-08-21 20:47:28

标签: javascript python python-3.x jupyter-notebook

我为Jupyter Notebook创建了一个JavaScript扩展,它将为我绘制一些数据。现在,我已经在扩展程序中对数据进行了硬编码。

我的问题:是否可以访问Notebook中存在的数据对象?

例如,下面是扩展的一些示例代码:

define([
    'base/js/namespace'
], function(
    Jupyter
) {
  function test_second_extension() {

    var handler = function () {
      console.log(
          'This is the current notebook application instance:',
          Jupyter.notebook
      );
      var data = [{"x": 1, "y": 5}, {"x": 2, "y":12}, {"x": 3, "y": 27}];
      console.log(data);
    };

    var action = {
        icon: 'fa-comment-o', // a font-awesome class used on buttons, etc
        help    : 'Print notebook instance',
        help_index : 'zz',
        handler : handler
    };
    var prefix = 'test_second_extension';
    var action_name = 'show-alert';

    var full_action_name = Jupyter.actions.register(action, action_name, prefix); // returns 'my_extension:show-alert'
    Jupyter.toolbar.add_buttons_group([full_action_name]);
  }

  return {
    load_ipython_extension: test_second_extension
  };
});

这就是我在Python3 Jupyter单元中所拥有的:

import pandas as pd
data = pd.read_json('[{"x": 1, "y": 5}, {"x": 2, "y":12}, {"x": 3, "y": 27}]')

是否有一种方法可以从扩展内部访问在Jupyter单元中创建的数据对象,而不是对其进行硬编码?

0 个答案:

没有答案