大阪大学医学部 Python会

Now is better than never.

【勉強会資料 2020 第1回】Python会とは? / Pythonの基礎

2020-05-19(Tue) - Posted by 山本 in 技術ブログ    tag:勉強会 tag:Python

Contents

    2020.05.19に開催したオンライン勉強会の資料を公開します。

    今回のみ、会外部の一般の方々にも参加頂く形で行われました。 次回からは会内部のみとなりますが、資料は公開してゆく予定です。

    スライド

    Pythonの環境構築

    • Pythonの公式サイトからPythonだけをinstallしても使えるが、パッケージ管理や環境管理のためにAnacondaを使うと便利(ここで不要じゃという声が飛んでくる)。
    • 少なくともWindowsだと使った方が楽
    • Anacondaそのままは全部盛りに近い(=要らないものなども自動でinstallされる)ので、最小限のパッケージに留めたMinicondaをinstallする方がよい
    • Miniconda入れる前にpyenv入れた方が良いという話もある(MacOS, Linux)

    Pythonファイルの実行

    python hoge.py
    

    で実行可能。 IDEでは簡単に実行出来たり、他にはJupyter notebookを用いる手法も。

    Python Tutorial

    Jupyter Notebook

    コードのみ以下に掲載します。

    NumPyで数値計算

    import numpy as np
    x = np.arange(0, 1, 0.1)
    print('x:', x)
    y = 2*x + 10
    print('y:', y)
    

    Matplotlibで図を描画する

    Matplotlibは図を描画するためのライブラリ。 どんな図が描画できるかは公式ドキュメントのギャラリーを参照。

    import numpy as np
    import matplotlib.pyplot as plt
    
    x = np.arange(0, 1, 0.1)
    y = 2*x + 10
    
    plt.plot(x, y)
    plt.show()
    

    Seabornによる回帰直線の描画

    SeabornはMatplotlibがベースのライブラリ。 より綺麗で複雑な図を簡単に描画できる。 公式ドキュメントのギャラリーを参照。

    import seaborn as sns
    np.random.seed(0) # 乱数seedの設定
    
    # Toyデータ(y=2*x+10+noise)の作成
    n_data = 100 # データ数
    x = np.random.randn(n_data)
    y = 2*x + np.random.randn(n_data) + 10
    
    # 回帰直線のplot
    plt.figure(figsize=(4,4))
    sns.regplot(x, y) # 回帰(regression)の実行
    plt.show() # 画像表示
    

    Markdownについて

    Markdownはプレーンテキスト形式で手軽に書いた文書からHTMLを生成するための言語 - 書き方はMarkdown記法サンプル集等を見るとよい - 普段から使う場合はTyporaを使うのがおススメ。 TeX形式の数式も書ける。 PandocをインストールすればWordやLaTeXなどに変換可能。

    Google Colabについて

    Google ColaboratoryはJupyter Notebookをブラウザ上で使えるようにGoogleが提供しているサービス。 Pythonをインストールする必要はありません。 また、Python会の一部のブログは記事をそのままGoogle Colabで開くことができます(GitHubにアップロードしたJupyter Notebookファイル(.ipynb)はURLを修正するだけでColabで開くことができます)。