投稿

#34 データの修正・保存

イメージ
今回は、NDBオープンデータのホームページにあるデータを一気に保存します。その前にデータ型の変更や、結合した時にどのファイルだったかをわかるように、フラグを立てておきます。 そのために、下記のようなプログラムを解説していきます。 ● 要素がすべて同じ文字からなる列を追加する    84 データ名[[“列名1”, “列名2”, …]] = [“文字1”, “文字2”, …] ● データ型を変更する(復習)    ⑱ データ名.astype({“列名1”:データ型, “列名2”:データ型,…}) ************ ■ まずは、下記の 動画 (4分29秒)をご覧ください。 ■ 次にプログラムの 解説 を自分のペースで読みましょう。 下記のスライドを参照してください。 #34 データの修正・保存 by @Cat_Taro ************ ■ このセクションのプログラムは下記のようになります。    実際に、コピペして コラボ で試してみましょう! df1_1.dtypes df1_2 = df1_1.astype({"薬効分類":"str","医薬品コード":"str", "後発品区分":"str"}) df1_2.head() df1_3 = df1_2.copy() df1_3[["年度", "剤型_場所"]] = ["H26", "内服外来院内"] df1_3 df1_3.to_csv('/content/drive/MyDrive/Colab Notebooks/医療/データ/H26_内服外来院内.csv') # H26 url2 = "https://www.mhlw.go.jp/file/06-Seisakujouhou-12400000-Hokenkyoku/0000139844.xlsx" df2 = pd.read_excel(url2, skiprows=[0, 1, 3], dtype = {"薬効\n分類":"object&quo

#33 URLからデータを読み込む

イメージ
今回は、NDBオープンデータのホームページにあるデータを読込み、見やすい形に整形していきます。 そのために、下記のようなプログラムを解説します。 ● ホームページからダウンロードできるExcelファイルを読み込む   80   url = “Excelファイルのありか"     データ名 = pd.read_excel(url) ● Excelの最初の何行かを読み飛ばす「skiprows」、「skipfooter」   81  skiprows=[数字1, 数字2, 数字3, …] ● データの列名を変更する「rename」   82  データ名.rename(index={古い行名1:新しい行名1,…},         columns={古い列名2:新しい列名2,…}) ● 文字列を上下と同じように埋める「fillna」   83  データ名 ["薬効分類"].fillna(method='ffill') ************ ■ まずは、下記の 動画 (8分42秒)をご覧ください。 ■ 次にプログラムの 解説 を自分のペースで読みましょう。 下記のスライドを参照してください。 #33 データの読み込み by @Cat_Taro ************ ■ このセクションのプログラムは下記のようになります。    実際に、コピペして コラボ で試してみましょう! import pandas as pd import numpy as np url1 = "https://www.mhlw.go.jp/file/06-Seisakujouhou-12400000-Hokenkyoku/0000139842.xlsx" df = pd.read_excel(url1) df.head() url1 = "https://www.mhlw.go.jp/file/06-Seisakujouhou-12400000-Hokenkyoku/0000139842.xlsx" df1 = pd.read_excel(url1, skiprows=[0, 1, 3]) df1.head() df1_1 = df1.rename(columns={"薬効

#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