投稿

#32 NDBオープンデータとは

イメージ
初めに「 NDBオープンデータ 」とは何かを説明します。 今回分析の対象とする「薬剤」の「都道府県別薬効分類別数量」のURL一覧もGoogleIDを持っていて、共有許可をしていただければ、ダウンロードできますのでご活用ください。 ■  まずは、 PowerPoint(パワポ) の資料をお読みください! #32 NDBオープンデータとは by @Cat_Taro ■ 次に、 下記の 動画 (5分3秒)で復習しましょう。   ★参考資料 ■ 利用を検討している方々へのマニュアル https://www.mhlw.go.jp/content/12400000/001162218.pdf ■ NDBオープンデータ分析サイト https://www.mhlw.go.jp/ndb/opendatasite/index.html ■ NDBオープンデータ https://www.mhlw.go.jp/stf/seisakunitsuite/bunya/0000177182.html ■ 【分析で使う資料】 「薬剤」→「都道府県別薬効分類別数量」→「内服」のURL https://docs.google.com/spreadsheets/d/12LcE067zroTxUihek7xO2qjrylyRQNVe/edit?usp=drive_link&ouid=106292536926943509337&rtpof=true&sd=true

#31 3rd STEP開始します!

イメージ
はじめまして! タローの弟子の 小次郎 です。 これから、タローに代わり、ガイド役をいたします。 データサイエンス チュートリアルの基礎編(1st STEP、2nd STEP)は、いかがでしたか? この3rd STEP「 応用編 医療 」では、いままで身に付けたスキルを基にNDBオープンデータを使いやすく加工して、分析していきましょう。 なぜ、医療データを選んだかって? それは、医療分野は使える データが豊富 にあるからです。また、 体系化されているマスター も完備されでいます。特殊なものと思われていますが、 医学的知識は最小限で十分 です。 医療分野での 活躍の機会も数多く ありますから、みなさんも、チャレンジしてみてください。 オープンデータは 練習用の素材 になるだけでなく、分析することによって 社会貢献 にも役立ちます。

集計・データの見える化のプログラムリスト

イメージ
「データサイエンス チュートリアル」の動画付きチュートリアルの2nd STEPを終え、集計、データの見える化までは、なんとなくやり方がわかるようになってきたと思います。 今まで、出てきたプログラムをリストアップしました。 一通り、動画付きチュートリアルを終えた方は、索引代わりにお使いください。 ********** ■ 1st  STEP  #4 Section 2 ライブラリの選択とデータの読み込み ① import ライブラリ名 as ライブラリの略称 ② pd.read_excel('データのある場所/データ名.xlsx ') #5 Section 3 読み込んだデータの確認(1) ③ データ名 ④ データ名.head() ⑤ データ名.tail() #6 Section 4 読み込んだデータの確認(2) ⑥ len(データ名.index) ⑦ データ名[“列名""] ⑧ データ名[“列名""].unique() #7 Section 5 データ型 ⑨ データ名.dtypes ⑩ pd.read_excel(""データのある場所"", dtype = {“列名"": データ型}) #8 Section 6 列の参照 ⑪ データ名[“列名”] ⑫ データ名[[“列名”]] ⑬ データ名[データ名[“列名”] > 数字] #9 Section 7 数値の最大値の求め方 ⑭ データ名[“列名""].max(axis=0) ⑮ データ名.describe() ⑯ print(“列名"") ⑰ データ名.sort_values(“列名"",ascending=False) #10 Section 8 データ型の変更(キャスト) ⑱ データ名.astype({“列名”:データ型}) #11 Section 9 欠損値の見つけ方・削除方法 ⑲ データ名.iloc[行番号 :  ] ⑳ データ名.isna().sum() ㉑ データ名.dropna() #12 Section 10 queryを使った複数条件での抽出 ㉒ データ名.query(“数字1 <= 列名 <= 数

Section 28 ピボットテーブル(2)

イメージ
さて、「2nd STEP 集計とグラフ描画」は、最後の動画となります。 ここまで読んでいただき、ありがとうございました。 データサイエンティストが、どのようなプログラムを書いているのか、試行錯誤も含めて、伝わったかなぁと思います。プログラムを書くという作業の背景を理解して、ビジネスの現場で データ思考 を心がけていただくことを期待します。 また、このブログで、データサイエンスに興味を持ち、もっと高度なプログラムを書いてみたいと思った方もいることでしょう。ブログの参考図書を参考に、データサイエンスの大海原に漕ぎ出していきましょう。 本セクションでは、円グラフに現れている数値が本当に価格帯ごとの 比率 (%)になっているかどうかをピボットテーブル+αで確認していきます。 グラフで傾向をつかむだけでなく、その数値を把握することを求められるケースがしばしばありますので、ピボットテーブルで求めたクロス集計表にひと手間加えて、比率(%)がわかる表の作り方を身に付けましょう。「 pivot_table 」では、 欠損値を含めないで集計 しますので、欠損値を確認したり、データ型を変えたり、結構、手間がかかります。 また、一気に、比率を求めてしまう方法として、データフレームの各行に対して関数を適用する「 apply 」と1行で記載できる関数を定義する「 lambda 」を組み合わせることも身に付けていきましょう。 76 データ名[データ名.isna().any(axis=1)] 77  データ名.replace(“元の要素”, “新しい要素”) 78  データ名.apply(関数, axis=1) 79  lambda 引数:処理内容 まとめとして、データを「見える化」するための「 グラフ・集計表の目的別手法 」も掲載しました。復習の意味で、参考にしてください。 ■ まずは、概要を理解したい方は、下記の 動画 (15分31秒)をご覧ください。 ■ PowerPoint(パワポ) でじっくりと理解したい方は、下記のスライドを参照してください。 Section 28 ピボットテーブル(2) by @Cat_Taro

Section 27 ピボットテーブル(1)

イメージ
データを可視化する方法は、グラフだけではありません。 2つのカテゴリのデータを同時に集計した結果を示す表を クロス集計表 と言いますが、このクロス集計表によって、様々な考察を得ることができます。 このセクションでは、クロス集計表を作成する ピボットテーブル を解説します。 75  pd.pivot_table(データ名, index=“列名1”, columns=“列名2”,             , values=“列名3”, aggfunc=’関数’, 他の引数) 75 のプログラムの引数を何度か他の列名と書き換えたり、省略したりして、ピボットテーブルによるクロス集計表の作り方を身に付けていきましょう。 ■ まずは、概要を理解したい方は、下記の 動画 (10分32秒)をご覧ください。 ■ PowerPoint(パワポ) でじっくりと理解したい方は、下記のスライドを参照してください。 Section 27 ピボットテーブル(1) by @Cat_Taro ■ 参考URL ●株式会社Spotの「 Pandasでピボットテーブルを手軽に作成するpivot_table関数の使い方 」 https://deepage.net/features/pandas-pivot.html

Section 26 円グラフ

イメージ
このセクションでは、 円グラフ の描き方を解説します。 seaborn は、より美しく、より簡単にグラフ描画を実現してくれるライブラリですが、現時点では 円グラフを描く機能はありません 。しかし、日本ではプレゼン等で、市場シェアを円グラフで見せる機会が多いため、ここでは、「 Plotly 」というライブラリーを使います。 それらを実現するプログラムは下記の2つです。 73  import plotly.express as px 74  px.pie(データ名, values=“分類したい列名”, names=“値の列名”) ライブラリー「 Plotly 」は、円グラフを描くことができるだけでなく、 インタラクティブなグラフ を描けることが最大の特徴です。動画の後半で、そのインタラクティブ性を確認してみてください。 また、「 Dash 」 を使うと「Plotly」で可視化した インタラクティブなプロットをWeb上で操作 することができます。コラボを使わなくても、ホームページで「Plotly」を使うことができるというわけです。この解説は下記のURLを参照してください(英語ですが、頑張ってみてください)。 ■ まずは、概要を理解したい方は、下記の 動画 (8分9秒)をご覧ください。 ■ PowerPoint(パワポ) でじっくりと理解したい方は、下記のスライドを参照してください。 Section 26 円グラフ by @Cat_Taro ■ 参考URL ●様々な円グラフの描き方   【plotlyチュートリアル】 第4回円グラフ     https://cafe-mickey.com/python/plotly-tutorial-4/ ●「Plotly」全体の公式ドキュメント   Plotly Open Source Graphing Library for Python    https://plotly.com/python/

Section 25 散布図

イメージ
このセクションでは、x軸、y軸の値のペアで1つの実数が決る2変数の 散布図 の描き方を習得していきます。 ヒストグラムは、単変数のデータの分布を見るために用いましたが、散布図は2つの変数の分布を見るために用います。その分布をみることによって、 相関の有無 を点の散らばりから確認することができます。また、大きく異なったデータ( 外れ値 ) の存在 を確認することもできます。 それらを実現するプログラムは下記の3つです。 70   sns.scatterplot(data=データ名, x="列名1", y="列名2") 71  sns.scatterplot(data=データ名, x="列名1", y="列名2“, hie=“列名3”) 72  plt.legend(loc=‘位置’) 散布図を描くための「 scatterplot 」は、「lineplot」、「histplot」、「catplot」、「countplot」と同様に、「 hue 」を使ってサブグループに分け、それらを色分けすることができます。  また、グラフの 凡例の位置 を指定するには、「plt.legend(loc=‘位置’)」を使います。これは、他のグラフ描画のプログラムでも使えます。  ■ まずは、概要を理解したい方は、下記の 動画 (6分57秒)をご覧ください。 ■ PowerPoint(パワポ) でじっくりと理解したい方は、下記のスライドを参照してください。 Section 25 散布図 by @Cat_Taro ■ 凡例をグラフ外に表示したり、フォントの変更等を詳しく知りたい場合は、「Pythonアカデミー」の下記のページを参考にしてください。 【matplotlib】凡例(legend)を表示する方法【位置変更、フォント変更、サイズ変更】  https://python-academia.com/matplotlib-legend/