技術屋にゃん兵衛のてくてくらぼ by データウィズ [DataWith]

気の向くままソフトについて書いてます。バリバリエンジニアではないのであくまでも初心者目線で。

Wolfram Mathematica っぽいノートブックを Wolfram Engine と Jupyter で作ってみる(第6話:講義ノートを作る)

さて、普通の人は前回までで大方の目的を果たせると思います。

今回は、例えば、高校や大学で使うようなノートブック(講義ノート)みたいなものを作るための1つの方法をやってみることにします。教材を作ったり、思考過程をまとめたりするときには、式や実行結果の説明文をつけますよね。

 

Jupyterでは、入力セルのデフォルトが「Code」となっていて、そのセルは実行するためのコマンドが入ります。Wolfram Language を使っている場合は、In [x]: ということです。

そうではなくて、コマンドの間にいろいろ説明をつけたい、というのが今回の目的です。

 

Jupyterでは「Markdown」という機能があり、これを使って説明文(実行されないテキスト)を書きます。このマークダウンについて書きます(Wolfram Language ではないですが)。

 

  1. セルに文字を入力する前に、画面上部のプルダウンメニューで「Markdown」を選択し、文字を入力します。確定は、コードの場合と同じ「Shift+Enter」です。

    マークダウンに切り替え

     ※ 新しいセルは常に「Code」になるため、注意してください。

  2. このテキストセルは、Markdownの記述として解釈されます。

    Markdownの主要な記述方法は次の表のようになります。

     

    表現

    記述情報

    表示結果

    対応するHTML

    見出し1

    # 見出し1

    見出し1

    <h1></h1>

    見出し2

    ## 見出し2

    見出し2

    <h2></h2>

    見出し3

    ### 見出し3

    見出し3

    <h3></h3>

    強調表示(太字)

    ** ここを協調 **

    ここを強調

    <strong></stromg>

    イタリック(斜体)

    * ここが斜体 *

    ここが斜体

    <i></i>

    箇条書き(記号)

    - 項目1

    - 項目2

    - 項目3

    (*または+または-)

    ・項目1

    ・項目2

    ・項目3

    <ul>

     <li></li>

    </ul>

    箇条書き(階層)

    - 項目1

      - 項目1-1

      - 項目1-2

    - 項目2

    (階層は半角スペース)

    ・項目1

     ・項目1-1

     ・項目1-2

    ・項目2

    <ul>

     <li>

      <ul>

       <li></li>

      </ul>

     </li>

    </ul>

    箇条書き(番号)

    1. 項目1

      1. 項目1-1

      1. 項目1-2

    1. 項目2

    (階層は半角スペース)

    1. 項目1

     A. 項目1-1

     B. 項目1-2

    2. 項目2

    <ol>

     <li>

      <ol>

       <li></li>

      </ol>

     </li>

    </ol>

    | 項目 | 値A | 値B |

    |:-----:|:-----:|:-----:|

    | データ1 | 100 | 200|

    項目

    値A

    値B

    データ1

    100

    200

    <table>

     <tr>

      <td></td>

     </tr>

    </table>

    ハイパーリンク

    [ページ](https: //jupyter.org/)

    ページ

    <a href=””></a>

    折りたたみ

    <details><summary>手順はこちら</summary>

    <div>Aボタンをクリックする</div>

    </details>

    手順はこちら

    (なぜか三角記号が出ません。動作は正常です)

    <details><summary>

    </summary></details>

    そのほかにも様々な記述があるので、インターネットで「Markdown」で検索してみてください。

  3. このテキストセルは、HTMLとしても解釈されます。
    例えば、次のようになります。

    【イタリック(斜体)】


    【箇条書き(記号)】


    その他の記述方法もHTMLと考えてよいでしょう。

 

作成したノートブックは保存をして、読み込ませることができます。

つまり、テキストを作成し、そのノートブックを読み込ませるようにすれば、配布も可能ということです。

まるいは、ローカルのコンピューターで作成したノートブックを公開用の Web サーバーにアップロードすることもあるかもしれません。

もちろん、渡す時には相手側も Jupyter + Wolfram Engine の環境を持っていることが前提にはなりますが。

 

さて、ここからは実際に何か教材を作成するようなイメージで話を進めていきます。下記のように、「説明文+コード入力+回答確認」の体裁とします。

 

1.統計の基礎

1.1 平均と中央値

データを分析するときに、一番最初に思い浮かぶのは「平均」と「中央値」だと思います。平均と中央値は異なるということを学習しましょう。

例えば、次のようなデータがある場合、「平均」と「中央値」がどのようになるか、を見てみます。

{5.0, 10.2, 35.6, 45.2, 60.8, 4.2, 7.0, 90.5, 30.6}

 

a) 平均

計算式を入力

(Mean [{5.0, 10.2, 35.6, 45.2, 60.8, 4.2, 7.0, 90.5, 30.6}] と入力し、Shift+Enterキーを押してください)

 

> クリックして答えを確認

 

b) 中央値

計算式を入力

(Median [{5.0, 10.2, 35.6, 45.2, 60.8, 4.2, 7.0, 90.5, 30.6}] と入力し、Shift+Enterキーを押してください)

 

> クリックして答えを確認

 

平均は単純に合計の値をデータの数で割ったものですが、中央値はデータに偏りがあると平均値とは異なることがわかります。

 

作成手順です。

  1. Jupyter のメニューから「File」⇒「New Notebook」⇒「Wolfram Language 13.x」を選択して、新しいノートブックを作成します。

    最初の部分はMarkdownで記述します。

     

    # 1.統計の基礎

     

    ## 1.1 平均と中央値

     

    データを分析するときに、一番最初に思い浮かぶのは「平均」と「中央値」だと思います。平均と中央値は異なるということを学習しましょう。

     

    例えば、次のようなデータがある場合、「平均」と「中央値」がどのようになるか、を見てみます。

     

    {5.0, 10.2, 35.6, 45.2, 60.8, 4.2, 7.0, 90.5, 30.6}

     

  2. 入力したら、「Shift+Enter」で確定します。

    マークダウン入力結果

    確定した後に、セルを再修正するときには、修正したいセルをダブルクリックすれば編集モードに戻ります

  3. 次に設問部分を作成します。MarkdownとCodeを組み合わせます。Shift + ENter で確定すると、次の行が In [x]: になります。

     

    ### a) 平均

     

    計算式を入力

    (Mean [{5.0, 10.2, 35.6, 45.2, 60.8, 4.2, 7.0, 90.5, 30.6}] と入力し、Shift+Enterキーを押してください)

    ここで、In []: は学習者に入力してもらう部分なので、空欄のまま、画面上部の「Run」をクリックして、次のセルに移ります。
  4. 回答の確認部分をMarkdownで作成します。クリックしたら、回答が表示されるようにします。

    <details>

        <summary>> クリックして答えを確認</summary>

        32.1222

    </details>

    入力すると、次のようになり、クリックすると回答が表示されます。

以降、手順を繰り返してページを完成させると、次のようになりました。

完成したノートブック

最後に作成したノートブックを保存して、配布できるようにします。Jupyterの「File」メニューで「Download as...」⇒「Notebook (.ipynb)」を選択します。ここでは、「Stats_Text」とします。

ノートブックの保存

「ダウンロード」フォルダに、「Stats_Text.ipynb」というファイルが保存されます。このファイルが今回作成したノートブックです。

 

今回はかなり書きました。

自分でも勉強になりました。

次回はいよいよこのシリーズの最終回、ノートブックを配布します。