大人のためのPython入門PyLadies Caravan in Tokyoデータ分析編
View Slide
■自己紹介■▶ PyLadies Caravan STAFF▶ お仕事は分析屋さん▶ お酒が好き、あと焼き鳥も好き▶ 今年の趣味は海と山のダブルコンボかなん @Addition_quince福岡出身/東京在住
※ 今日やること ※■Pythonってどんな言語?■jupyter notebookを使ってみよう■データ分析のことはじめ +データの読み込み +データの形式を把握 +要約統計量の算出 +データの可視化
はじめようPython de データ分析★
Pythonって、どんな言語?Python とは汎用プログラミング言語で、その特徴はこんなかんじ。• オープンソースである• 文法がシンプルであり、コードが少量で済む• Web開発、データ解析(AI)、ゲームといった幅広い分野で使用• 多彩なライブラリサポートで高度な計算も容易『 Youtube 』 『 EverNote 』 『 Instagram 』に利用されています。
Pythonって、どんな言語?Python の起源1991年 オランダ人のグイド・ヴァン・ロッサム氏によって開発イギリスの大ヒットコメディ番組「空飛ぶモンティ・パイソン」からきているとされる。 グイド・ヴァン・ロッサム (出典「wikipedia」) 6年以上前の1989年12月、私はクリスマス前後の週の暇つぶしのため「趣味」のプログラミングプロジェクトを探していた。オフィスは閉まっているが、自宅にはホームコンピュータがあるし、他にすることがなかった。私は最近考えていた新しいスクリプト言語のインタプリタを書くことにした。それは、ABCからの派生であり、Unix/Cハッカーの注意をひきつけるかもしれないと考えた。ちょっとしたいたずら心から(『空飛ぶモンティ・パイソン』の熱烈なファンだったというのも理由の1つ)、プロジェクトの仮称をPythonにした。— グイド・ヴァンロッサム、「Programming Python」の序文
Python特徴①:シンプルな文法!Python の文法の特徴的な構文ルール「インデント」● インデントは、行頭に空白を入れて文字を入れて字下げを行う事● 同じインデントのまとまりを1つのブロックと識別Def hikaku(x): f x < 10: print(‘少ない’) else: print(‘たくさん’)1インデントは空白4つで表されることが多い
Python特徴②:ライブラリが豊富!ライブラリとは、多彩な計算やデータ加工を可能とする、モジュール(Pythonプログラム)群。<例>▶ datetime :日付時間処理▶ math :数学計算▶ numpy :行列演算▶ Pandas :データ加工▶ Matplotlib :グラフ描画▶ scikit-learn :機械学習▶ Chainer :深層学習
Pythonのバージョン:▶ Python2(2系)とPython3(3系)▶ Python2は既(2020年)にサポート終了▶ Python3を使いましょう▶ 最新バージョンは Python3.9.6
Jupyter Notebookを使って データ分析をやってみよう!
(参考)エディタ▶ 実際にPythonでプログラムを書くときは、エディタと呼ばれるソフトウェアを使うことが多い▶ みんな自分の好みのエディタをメインで使っています。▶ Visual Studio Code (ビジュアルスタジオコード)▶ PyCharm (パイチャーム)▶ Atom (アトム)▶ Notepad++ (ノートパッドプラスプラス)▶ Sublime (サブライム)▶ Jupyter Notebook (ジュピターノートブック)
(参考)エディタ▶ PyCharm
今回はJupyter Notebookを使用しますJupyter Notebookとは、ブラウザ形式のテキストエディタ。ノートブックと呼ばれる形式でプログラムを作成でき、実行結果を確認しながら作業を進めるためのツールです。<実行画面>結果表示処理記載
データ分析で大事なことデータ分析っていうと、多変量解析とか機械学習とかってすぐやりたくなるでもとても大事なのはデータを理解すること。そのデータがどんな姿をしているのかを数値化とグラフ化で泥臭く地道に解き明かす過程がデータ分析の大半を占めたりする
(参考)describe:要約統計量count :件数mean :平均std :標準偏差min :最小値25% :25%点(第1四分位数)50% :50%点(第2四分位数、中央値)75% :75%点(第3四分位数)max :最大値
(参考)平均と中央値(50%点)・平均は少数の外れ値(異常値)に大きな影響を受ける統計量!!・平均は全体の中心を表す統計量としてよく利用されるけど、 外れ値を含んだデータでは、外れ値に影響を受けやすいので 注意が必要。ユーザー スマホゲーム月課金額A 200円B 50円C 300円D 250円E 600円F 5,000円平均 :1,067円中央値: 275円
(参考)パーセンタイル値10g 50g 180g85g 200g 800g 1,000g 2,000g 5,000g重さ25%値 50%値 75%値パーセンタイル値とは、データを昇順に並べた時の位置を表します。※百分位で位置を表す場合にパーセンタイル値となる。 データを昇順に並べ等分した時の位置を分位数(quantile)という。 よく使われるのは4等分する四分位数(quartile)である。【四分位数】25%値:全データの25%が入る値 第1四分位点(Q1)50%値:全データの50%が入る値 第2四分位点(中央値)(Q2)75%値:全データの75%が入る値 第3四分位点(Q3)30g中央値:190.0g/平均値:935.5g
(参考)箱ひげ図Ω25%のデータ25%のデータ25%のデータ25%のデータ最大値第3四分位75%点中央値50%点第1四分位25%点最小値
10g 50g 180g85g 200g 800g 1,000g 2,000g 5,000g重さ25% 50% 75%30gおさらい代表値count 10mean 935.5std 1,482.2min 1025% 5050% 19075% 1,000max 5,000ヒストグラム 箱ひげ図min maxmean
本日のLET'S TRY
sample_data.csv項目名 数値/カテゴリ 内容No 数値 通し番号地方 カテゴリ 8地方名(漢字)chihou カテゴリ 8地方名(アルファベット)都道府県 カテゴリ 都道府県(漢字)todouhuken カテゴリ 都道府県(アルファベット)area_km2 数値 面積(単位:㎢)population_k 数値 人口(単位:千人)female_k 数値 女性人口(単位:千人)ramen_shop 数値 ラーメン店舗数(単位:軒)sake_l 数値 総アルコール消費量(単位:㍑)sake_l_person 数値 20歳以上1人あたりアルコール消費量(単位:㍑)mcdnald_shop 数値 マクドナルド店舗数(単位:軒)name_sato 数値 苗字が「佐藤」さんの人数(単位:人)source_ml 数値 2人以上の世帯の年間ソース消費量(単位: ml)
challenge問題1:name_satoは、佐藤さんの人数です。その都道府県にどのくらい佐藤さんの割合が多いのかを確認してみよう。※注意:都道府県の人口(population_k)は千人単位です。問題2:佐藤さん比率が多ければ多いほど、ラーメン店の数は多くなるのか検証しみよう!問題3:自分の出身(もしくは縁のある)都道府県について、データから得られる知見を探してみましょう。
はじめようPython Life★