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

大人のためのPython入門in京都.pdf

1ab7961f262b03658529a69af612187f?s=47 kanan
February 10, 2019

 大人のためのPython入門in京都.pdf

1ab7961f262b03658529a69af612187f?s=128

kanan

February 10, 2019
Tweet

More Decks by kanan

Other Decks in Programming

Transcript

  1. 大人のためのPython入門 PyLadies Caravan in 京都 データ分析編

  2. ▪自己紹介▪ ▶ PyLadies Caravan STAFF ▶ PyLadies Tokyo は、参加者としてお邪魔してます。 ▶

    仕事はコンサルよりのデータ分析屋さん。 ▶ お酒が好き。昨日も京都の日本酒たのしみました。 かなん  @Addition_quince
  3. ※ 今日やること ※ ▪Pythonってどんな言語? ▪jupyter notebookを使ってみよう ▪データ分析のことはじめ   +データの読み込み   +データの形式を把握   +要約統計量の算出

      +データの可視化
  4. はじめようPython de データ分析★

  5. Pythonって、どんな言語? Python とは 汎用プログラミング言語で、その特徴はこんなかんじ。 • オープンソースである • 文法がシンプルであり、コードが少量で済む • Web開発、データ解析(AI)、ゲームといった幅広い分野で使用

    • 多彩なライブラリサポートで高度な計算も容易 『 Youtube 』 『 EverNote 』 『 Instagram 』に利用されています。
  6. Pythonって、どんな言語? Python の起源 1991年 オランダ人のグイド・ヴァン・ロッサム氏によって開発されたプログラミング 言語。 名前の由来は、イギリスのテレビ局BCCが製作・放送した大ヒットコメディ番組であ る 「空飛ぶモンティ・パイソン」からきているとされる。  グイド・ヴァン・ロッサム (出典「wikipedia」) 

    6年以上前の1989年12月、私はクリスマス前後の週の暇つぶしのため「趣味」のプログ ラミングプロジェクトを探していた。オフィスは閉まっているが、自宅にはホームコン ピュータがあるし、他にすることがなかった。私は最近考えていた新しいスクリプト言語 のインタプリタを書くことにした。それは、ABCからの派生であり、Unix/Cハッカーの注 意をひきつけるかもしれないと考えた。ちょっとしたいたずら心から(『空飛ぶモンティ・パ イソン』の熱烈なファンだったというのも理由の1つ)、プロジェクトの仮称をPythonにし た。 — グイド・ヴァンロッサム、「Programming Python」の序文
  7. None
  8. Python特徴①:シンプルな文法! Python の文法は本当にシンプルなのか? 2つの値(a, b)の最大公約数を求めるプログラムを Python, Java, Rubyの3つの言語で比較。 ※最大公約数を求めるアルゴリズムはユークリッドの互除法 を使用 

    def gcd(a, b): while b > 0: a, b = b, a % b return a def gcd(a, b) a, b = b, a if a > b until a == 0 a, b = b % a, a end return b end private static long getKoyakusu(long a, long b) { long candidate = a; while (b % a != 0) { candidate = b % a; b = a; a = candidate; } return candidate; } Java  Ruby  Python 
  9. Python特徴①:シンプルな文法! Python の文法の特徴的な構文ルール「インデント」 • インデントは、行頭に空白を入れて文字を入れて字下げを行う事 • 同じインデントのまとまりを1つのブロックと識別 Def hikaku(x):   f

    x < 10:     print(‘少ない’)     else:     print(‘たくさん’) 1インデントは空白4 つで表されることが 多い
  10. Python特徴②:ライブラリが豊富! ライブラリとは、 多彩な計算やデータ加工を可能とする、モジュール(Pythonプログラ ム)群。 <例> ▶ datetime :日付時間処理 ▶ math

    :数学計算 ▶ numpy :行列演算 ▶ Pandas :データ加工 ▶ Matplotlib :グラフ描画 ▶ scikit-learn :機械学習 ▶ Chainer :深層学習
  11. Pythonの思想:The Zen of Python ▶ 1. Beautiful is better than

    ugly. ▶ 2. Explicit is better than implicit. ▶ 3. Simple is better than complex. ▶ 4. Complex is better than complicated. ▶ 5. Flat is better than nested. ▶ 6. Sparse is better than dense. ▶ 7. Readability counts. ▶ 8. Special cases aren't special enough to break the rules.
  12. Pythonの思想:The Zen of Python ▶ 9. Although practicality beats purity.

    ▶ 10. Errors should never pass silently. ▶ 11. Unless explicitly silenced. ▶ 12. In the face of ambiguity, refuse the temptation to guess. ▶ 13. There should be one-- and preferably only one --obvious way to do it. ▶ 14. Although that way may not be obvious at first unless you're Dutch.
  13. Pythonの思想:The Zen of Python ▶ 15. Now is better than

    never. ▶ 16. Although never is often better than *right* now. ▶ 17. If the implementation is hard to explain, it's a bad idea. ▶ 18. If the implementation is easy to explain, it may be a good idea. ▶ 19. Namespaces are one honking great idea -- let's do more of those!
  14. Pythonのバージョン: ▶ Python2(2系)とPython3(3系) ▶ Python2は2020年にはサポート終了となる ▶ 学習をはじめるならPython3 ▶ 最新バージョンは Python3.7.2

  15. Jupyter Notebookを使って   データ分析をやってみよう!

  16. (参考)エディタ ▶ 実際にPythonでプログラムを書くときは、エディタと呼ばれるソ フトウェアを使うことが多い ▶ みんな自分の好みのエディタをメインで使っています。 ▶ Visual Studio Code (ビジュアルスタジオコード)

    ▶ PyCharm (パイチャーム) ▶ Atom (アトム) ▶ Notepad++ (ノートパッドプラスプラス) ▶ Sublime (サブライム) ▶ Jupyter Notebook (ジュピターノートブック)
  17. (参考)エディタ ▶ PyCharm

  18. 今回はJupyter Notebookを使用します Jupyter Notebookとは、 ブラウザ形式のテキストエディタ。 ノートブックと呼ばれる形式でプログラムを作成でき、 実行結果を確認しながら作業を進めるためのツールです。 <実行画面> 結果表示 処理記載

  19. Jupyter Notebookを使うための簡単な方法 https://www.anaconda.com/ Anacondaとは ・Pythonのディストリビューション ・Python本体と、Pythonでよく利用されるライブラリを  セットにしたPythonパッケージです。

  20. 今回は、 Anacondaを導入したAzure環境に アクセスしてJupyter Notebookを使ってい きます!

  21. (参考)describe:要約統計量 count :件数 mean :平均 std :標準偏差 min :最小値 25%

    :25%点(第1四分位数) 50% :50%点(第2四分位数、中央値) 75% :75%点(第3四分位数) max :最大値
  22. (参考)平均と中央値(50%点) ・平均は少数の外れ値(異常値)に大きな影響を受ける統計量!! ・平均は全体の中心を表す統計量としてよく利用されるけど、  外れ値を含んだデータでは、外れ値に引きずられる可能性があるため  注意が必要。 ユーザー スマホゲーム月課金額 A 200円 B

    50円 C 300円 D 250円 E 600円 F 5,000円 平均 :1,067円 中央値: 275円
  23. (参考)パーセンタイル値 3kg 4kg 10kg 7kg 12kg 23kg 28kg 30kg 45kg

    体重 25%値 50%値 75%値 パーセンタイル値とは、データを昇順に並べた時の位置を表します。 ※百分位で位置を表す場合にパーセンタイル値となる。  データを昇順に並べ等分した時の位置を分位数(quantile)という。  よく使われるのは4等分する四分位数(quartile)である。 【四分位数】 25%値:全データの25%が入る値 第1四分位点(Q1) 50%値:全データの50%が入る値 第2四分位点(中央値)(Q2) 75%値:全データの75%が入る値 第3四分位点(Q3)
  24. (参考)箱ひげ図 Ω 25%の データ 25%の データ 25%の データ 25%の データ

    最大値 第3四分位 75%点 中央値 50%点 第1四分位 25%点 最小値
  25. これからPythonをはじめるために

  26. 勉強をはじめるためのポイント ▶ 書籍やサイトは、できれば新しいほうがよい ▶ 書籍の難易度は自分に合ったものを選ぼう ▶ オンライン学習サイトもオススメ

  27. 勉強をはじめるためのポイント ▶ 躓いたり、悩んだりした時は、  知っている人に聞くのが、最大の近道! ▶ Slack「PyLadies Japan」はメンバーが気軽に  コミュニケーションを取れる場所です ▶ 質問したら、きっと誰かが答えてくれるので、

     是非、一緒にワイワイしましょう。
  28. はじめようPython Life★