Upgrade to Pro — share decks privately, control downloads, hide ads and more …

hannari_20191206_goto.pdf

Ea7d702e3718de6c39a70db5f30bd65b?s=47 namao510
December 06, 2019

 hannari_20191206_goto.pdf

Ea7d702e3718de6c39a70db5f30bd65b?s=128

namao510

December 06, 2019
Tweet

Other Decks in Education

Transcript

  1. みんなのはんなりPythonの会 2019/12/06 ~環境構築 & コード作成~ @namao

  2. みんなのはんなりPythonの会 2019/12/06 自己紹介  @namao  Python歴:2年弱 業務利用(データ分析)  興味のあるIT技術

    (Python以外) Go, Linux(Debian),セキュリティなど  後輩などにPython指導する機会↗ connpass
  3. みんなのはんなりPythonの会 2019/12/06 概要 私の指導経験  業務中での後輩指導  業務外での親友への指導(タダ!)

  4. みんなのはんなりPythonの会 2019/12/06 概要 学習(つまずき)ポイント  環境構築 →AnacondaによるPython3.8環境構築  コードの書き方 →速いコード(pandas)作成

    私の指導経験  業務中での後輩指導  業務外での親友への指導(タダ!)
  5. みんなのはんなりPythonの会 2019/12/06

  6. みんなのはんなりPythonの会 2019/12/06 コン パイ ル 不要 必要 イン ス トー

    ル元 Anaconda独自 Python公式 Anaconda vs pip https://www.anaconda.com/understanding-conda-and-pip/ コンパイル: テキストからバイナリに変換 (初心者には難) 青字:メリット
  7. みんなのはんなりPythonの会 2019/12/06 コン パイ ル 不要 必要 イン ス トー

    ル元 Anaconda独自 Python公式 Anaconda vs pip https://www.anaconda.com/understanding-conda-and-pip/ 青字:メリット Windowsユーザーには、Anacondaがおすすめ!
  8. みんなのはんなりPythonの会 2019/12/06 パッケージ情報を知る  コマンド: conda search (パッケージ名) –c (チャンネル名)

    *動作環境: cmd (windows) コンパイル情報 ・ ・ ・ Pythonのversion AnacondaのPython version対応状況を把握可
  9. みんなのはんなりPythonの会 2019/12/06 仮想環境作成 仮想環境イメージ  コマンド: conda create -n (仮想環境名)

    python=(version番号) (パッケージ名) –c (チャンネル名) 実行例 *動作環境: cmd (windows)
  10. みんなのはんなりPythonの会 2019/12/06 仮想環境作成 仮想環境イメージ  コマンド: conda create -n (仮想環境名)

    python=(version番号) (パッケージ名) –c (チャンネル名) 実行例 *動作環境: cmd (windows) 2コマンドで 環境構築可能
  11. みんなのはんなりPythonの会 2019/12/06 Jupyter notebook エラー解消 (windows) asyncio.pyに上記コードを追加

  12. みんなのはんなりPythonの会 2019/12/06 Python以外のパッケージ1 (R) https://anaconda.org/conda-forge/r-essentials Jupyter上でのR

  13. みんなのはんなりPythonの会 2019/12/06 Python以外のパッケージ2 (git, git-bash) https://anaconda.org/anaconda/git Windowsでの bash(Linux)環境候補として Git-bashもおすすめ https://anaconda.org/conda-forge/git-bash

    git git-bash
  14. みんなのはんなりPythonの会 2019/12/06

  15. みんなのはんなりPythonの会 2019/12/06 少休止(人もコードも?) 世間では・・・ 生産性向上 (スピード)

  16. みんなのはんなりPythonの会 2019/12/06 少休止(人もコードも?) 世間では・・・ 生産性向上 (スピード) コードも同じ!

  17. みんなのはんなりPythonの会 2019/12/06 速いコードの書き方(一般論)  Python(スクリプト言語)の速さはコード行数に比例  forループを減らすことが基本 N=10**4 a=[] for

    i in range(N): if i%3==0: a.append(i) N=10**4 a=[i for i in range(N) if i%3==0] ☓ ◯
  18. みんなのはんなりPythonの会 2019/12/06 コードのスピード測定 (jupyter noebook) Jupyterでは%%timeitというマジックコマンドを使うのが簡単! https://ipython.readthedocs.io/en/stable/interactive/magics.html#cell-magics ☓ ◯

  19. みんなのはんなりPythonの会 2019/12/06 処理のイメージ図 コードの速度比較(例1:ファイル結合) ☓ 10000 生徒一人の3教科の点数

  20. みんなのはんなりPythonの会 2019/12/06 処理のイメージ図 コードの速度比較(例1:ファイル結合) ① ②

  21. みんなのはんなりPythonの会 2019/12/06 処理のイメージ図 コードの速度比較(例1:ファイル結合) ① ②

  22. みんなのはんなりPythonの会 2019/12/06 コードの速度比較(例2:行毎の合計) 10000人の学生それぞれの 3教科の合計点を算出 10000 Eng, Math, Japan sum

    処理のイメージ図
  23. みんなのはんなりPythonの会 2019/12/06 コード例 (10000人の3教科の合計) ① data.apply(sum,axis=1) ② data['Eng']+data['Math']+data['Japan’] ③ data.eval('Eng+Math+Japan’)

    ④ data.sum(axis=1) ⑤ pd.Series(data.values.sum(axis=1)) 10000 Eng, Math, Japan sum 処理のイメージ図 コードの速度比較(例2:行毎の合計)
  24. みんなのはんなりPythonの会 2019/12/06 コード例 (10000人の3教科の合計) ① data.apply(sum,axis=1) ② data['Eng']+data['Math']+data['Japan’] ③ data.eval('Eng+Math+Japan’)

    ④ data.sum(axis=1) ⑤ pd.Series(data.values.sum(axis=1)) 速度結果 ①1160 ms,②2.58 ms,③9.96 ms,④2.05 ms,⑤1.14 ms 10000 Eng, Math, Japan sum 処理のイメージ図 コードの速度比較(例2:行毎の合計)
  25. みんなのはんなりPythonの会 2019/12/06 本日のまとめ 環境構築  Anaconda活用方法(python3.8環境をコマンドで作成)  Python以外のパッケージ(例: R, git)もインストール可

    コードの書き方  速さを意識したコードを書くことは重要  スピード測定には、%%timeitが便利 (jupyter notebook)
  26. みんなのはんなりPythonの会 2019/12/06

  27. みんなのはんなりPythonの会 2019/12/06 まとめ  アイデアを確認します。  上位の候補に投票して集約します。  要件と制限を確認します。 

    上位 5 から 10 のアイデアにリストの内容を調整します。