#34 データの修正・保存
今回は、NDBオープンデータのホームページにあるデータを一気に保存します。その前にデータ型の変更や、結合した時にどのファイルだったかをわかるように、フラグを立てておきます。
そのために、下記のようなプログラムを解説していきます。
● 要素がすべて同じ文字からなる列を追加する
84 データ名[[“列名1”, “列名2”, …]] = [“文字1”, “文字2”, …]
● データ型を変更する(復習)
⑱ データ名.astype({“列名1”:データ型, “列名2”:データ型,…})
************
■まずは、下記の動画(4分29秒)をご覧ください。
■次にプログラムの解説を自分のペースで読みましょう。下記のスライドを参照してください。
************
■このセクションのプログラムは下記のようになります。
実際に、コピペしてコラボで試してみましょう!
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", "医薬品\nコード":"object", "後発品\n区分":"object"}) df2[["薬効\n分類", "薬効分類名称"]] = df2[["薬効\n分類", "薬効分類名称"]].fillna(method='ffill') df2_1 = df2.rename(columns={"薬効\n分類": "薬効分類", "医薬品\nコード":"医薬品コード", "薬価基準収載\n医薬品コード":"薬価基準収載医薬品コード", "後発品\n区分":"後発品区分"}) df2_2 = df2_1.copy() df2_2[["年度", "剤型_場所"]] = ["H26", "内服外来院外"] df2_2.to_csv('/content/drive/MyDrive/Colab Notebooks/医療/データ/H26_内服外来院外.csv') url3 = "https://www.mhlw.go.jp/file/06-Seisakujouhou-12400000-Hokenkyoku/0000139846.xlsx" df3 = pd.read_excel(url3, skiprows=[0, 1, 3], dtype = {"薬効\n分類":"object", "医薬品\nコード":"object", "後発品\n区分":"object"}) df3[["薬効\n分類", "薬効分類名称"]] = df3[["薬効\n分類", "薬効分類名称"]].fillna(method='ffill') df3_1 = df3.rename(columns={"薬効\n分類": "薬効分類", "医薬品\nコード":"医薬品コード", "薬価基準収載\n医薬品コード":"薬価基準収載医薬品コード", "後発品\n区分":"後発品区分"}) df3_2 = df3_1.copy() df3_2[["年度", "剤型_場所"]] = ["H26", "内服入院"] df3_2.to_csv('/content/drive/MyDrive/Colab Notebooks/医療/データ/H26_内服入院.csv') # H27 url4 = "https://www.mhlw.go.jp/file/06-Seisakujouhou-12400000-Hokenkyoku/0000177288.xlsx" df4 = pd.read_excel(url4, skiprows=[0, 1, 3], dtype = {"薬効\n分類":"object", "医薬品\nコード":"object", "後発品\n区分":"object"}) df4[["薬効\n分類", "薬効分類名称"]] = df4[["薬効\n分類", "薬効分類名称"]].fillna(method='ffill') df4_1 = df4.rename(columns={"薬効\n分類": "薬効分類", "医薬品\nコード":"医薬品コード", "薬価基準収載\n医薬品コード":"薬価基準収載医薬品コード", "後発品\n区分":"後発品区分"}) df4_2 = df4_1.copy() df4_2[["年度", "剤型_場所"]] = ["H27", "内服外来院外"] df4_2.to_csv('/content/drive/MyDrive/Colab Notebooks/医療/データ/H27_内服外来院外.csv') url5 = "https://www.mhlw.go.jp/file/06-Seisakujouhou-12400000-Hokenkyoku/0000177290.xlsx" df5 = pd.read_excel(url5, skiprows=[0, 1, 3], dtype = {"薬効\n分類":"object", "医薬品\nコード":"object", "後発品\n区分":"object"}) df5[["薬効\n分類", "薬効分類名称"]] = df5[["薬効\n分類", "薬効分類名称"]].fillna(method='ffill') df5_1 = df5.rename(columns={"薬効\n分類": "薬効分類", "医薬品\nコード":"医薬品コード", "薬価基準収載\n医薬品コード":"薬価基準収載医薬品コード", "後発品\n区分":"後発品区分"}) df5_2 = df5_1.copy() df5_2[["年度", "剤型_場所"]] = ["H27", "内服外来院内"] df5_2.to_csv('/content/drive/MyDrive/Colab Notebooks/医療/データ/H27_内服外来院内.csv') url6 = "https://www.mhlw.go.jp/file/06-Seisakujouhou-12400000-Hokenkyoku/0000177292.xlsx" df6 = pd.read_excel(url6, skiprows=[0, 1, 3], dtype = {"薬効\n分類":"object", "医薬品\nコード":"object", "後発品\n区分":"object"}) df6[["薬効\n分類", "薬効分類名称"]] = df6[["薬効\n分類", "薬効分類名称"]].fillna(method='ffill') df6_1 = df6.rename(columns={"薬効\n分類": "薬効分類", "医薬品\nコード":"医薬品コード", "薬価基準収載\n医薬品コード":"薬価基準収載医薬品コード", "後発品\n区分":"後発品区分"}) df6_2 = df6_1.copy() df6_2[["年度", "剤型_場所"]] = ["H27", "内服入院"] df6_2.to_csv('/content/drive/MyDrive/Colab Notebooks/医療/データ/H27_内服入院.csv') # H28 url7 = "https://www.mhlw.go.jp/content/12400000/000347791.xlsx" df7 = pd.read_excel(url7, skiprows=[0, 1, 3], dtype = {"薬効\n分類":"object", "医薬品\nコード":"object", "後発品\n区分":"object"}) df7[["薬効\n分類", "薬効分類名称"]] = df7[["薬効\n分類", "薬効分類名称"]].fillna(method='ffill') df7_1 = df7.rename(columns={"薬効\n分類": "薬効分類", "医薬品\nコード":"医薬品コード", "薬価基準収載\n医薬品コード":"薬価基準収載医薬品コード", "後発品\n区分":"後発品区分"}) df7_2 = df7_1.copy() df7_2[["年度", "剤型_場所"]] = ["H28", "内服外来院外"] df7_2.to_csv('/content/drive/MyDrive/Colab Notebooks/医療/データ/H28_内服外来院外.csv') url8 = "https://www.mhlw.go.jp/content/12400000/000347793.xlsx" df8 = pd.read_excel(url8, skiprows=[0, 1, 3], dtype = {"薬効\n分類":"object", "医薬品\nコード":"object", "後発品\n区分":"object"}) df8[["薬効\n分類", "薬効分類名称"]] = df8[["薬効\n分類", "薬効分類名称"]].fillna(method='ffill') df8_1 = df8.rename(columns={"薬効\n分類": "薬効分類", "医薬品\nコード":"医薬品コード", "薬価基準収載\n医薬品コード":"薬価基準収載医薬品コード", "後発品\n区分":"後発品区分"}) df8_2 = df8_1.copy() df8_2[["年度", "剤型_場所"]] = ["H28", "内服外来院内"] df8_2.to_csv('/content/drive/MyDrive/Colab Notebooks/医療/データ/H28_内服外来院内.csv') url9 = "https://www.mhlw.go.jp/content/12400000/000347795.xlsx" df9 = pd.read_excel(url9, skiprows=[0, 1, 3], dtype = {"薬効\n分類":"object", "医薬品\nコード":"object", "後発品\n区分":"object"}) df9[["薬効\n分類", "薬効分類名称"]] = df9[["薬効\n分類", "薬効分類名称"]].fillna(method='ffill') df9_1 = df9.rename(columns={"薬効\n分類": "薬効分類", "医薬品\nコード":"医薬品コード", "薬価基準収載\n医薬品コード":"薬価基準収載医薬品コード", "後発品\n区分":"後発品区分"}) df9_2 = df9_1.copy() df9_2[["年度", "剤型_場所"]] = ["H28", "内服入院"] df9_2.to_csv('/content/drive/MyDrive/Colab Notebooks/医療/データ/H28_内服入院.csv') # H29 url10 = "https://www.mhlw.go.jp/content/12400000/000730486.xlsx" df10 = pd.read_excel(url10, skiprows=[0, 1, 3], dtype = {"薬効\n分類":"object", "医薬品\nコード":"object", "後発品\n区分":"object"}) df10[["薬効\n分類", "薬効分類名称"]] = df10[["薬効\n分類", "薬効分類名称"]].fillna(method='ffill') df10_1 = df10.rename(columns={"薬効\n分類": "薬効分類", "医薬品\nコード":"医薬品コード", "薬価基準収載\n医薬品コード":"薬価基準収載医薬品コード", "後発品\n区分":"後発品区分"}) df10_2 = df10_1.copy() df10_2[["年度", "剤型_場所"]] = ["H29", "内服外来院外"] df10_2.to_csv('/content/drive/MyDrive/Colab Notebooks/医療/データ/H29_内服外来院外.csv') url11 = "https://www.mhlw.go.jp/content/12400000/000730489.xlsx" df11 = pd.read_excel(url11, skiprows=[0, 1, 3], dtype = {"薬効\n分類":"object", "医薬品\nコード":"object", "後発品\n区分":"object"}) df11[["薬効\n分類", "薬効分類名称"]] = df11[["薬効\n分類", "薬効分類名称"]].fillna(method='ffill') df11_1 = df11.rename(columns={"薬効\n分類": "薬効分類", "医薬品\nコード":"医薬品コード", "薬価基準収載\n医薬品コード":"薬価基準収載医薬品コード", "後発品\n区分":"後発品区分"}) df11_2 = df11_1.copy() df11_2[["年度", "剤型_場所"]] = ["H29", "内服外来院内"] df11_2.to_csv('/content/drive/MyDrive/Colab Notebooks/医療/データ/H29_内服外来院内.csv') url12 = "https://www.mhlw.go.jp/content/12400000/000730491.xlsx" df12 = pd.read_excel(url12, skiprows=[0, 1, 3], dtype = {"薬効\n分類":"object", "医薬品\nコード":"object", "後発品\n区分":"object"}) df12[["薬効\n分類", "薬効分類名称"]] = df12[["薬効\n分類", "薬効分類名称"]].fillna(method='ffill') df12_1 = df12.rename(columns={"薬効\n分類": "薬効分類", "医薬品\nコード":"医薬品コード", "薬価基準収載\n医薬品コード":"薬価基準収載医薬品コード", "後発品\n区分":"後発品区分"}) df12_2 = df12_1.copy() df12_2[["年度", "剤型_場所"]] = ["H29", "内服入院"] df12_2.to_csv('/content/drive/MyDrive/Colab Notebooks/医療/データ/H29_内服入院.csv') # H30 url13 = "https://www.mhlw.go.jp/content/12400000/000560109.xlsx" df13 = pd.read_excel(url13, skiprows=[0, 1, 3], dtype = {"薬効\n分類":"object", "医薬品\nコード":"object", "後発品\n区分":"object"}) df13[["薬効\n分類", "薬効分類名称"]] = df13[["薬効\n分類", "薬効分類名称"]].fillna(method='ffill') df13_1 = df13.rename(columns={"薬効\n分類": "薬効分類", "医薬品\nコード":"医薬品コード", "薬価基準収載\n医薬品コード":"薬価基準収載医薬品コード", "後発品\n区分":"後発品区分"}) df13_2 = df13_1.copy() df13_2[["年度", "剤型_場所"]] = ["H30", "内服外来院外"] df13_2.to_csv('/content/drive/MyDrive/Colab Notebooks/医療/データ/H30_内服外来院外.csv') url14 = "https://www.mhlw.go.jp/content/12400000/000560111.xlsx" df14 = pd.read_excel(url14, skiprows=[0, 1, 3], dtype = {"薬効\n分類":"object", "医薬品\nコード":"object", "後発品\n区分":"object"}) df14[["薬効\n分類", "薬効分類名称"]] = df14[["薬効\n分類", "薬効分類名称"]].fillna(method='ffill') df14_1 = df14.rename(columns={"薬効\n分類": "薬効分類", "医薬品\nコード":"医薬品コード", "薬価基準収載\n医薬品コード":"薬価基準収載医薬品コード", "後発品\n区分":"後発品区分"}) df14_2 = df14_1.copy() df14_2[["年度", "剤型_場所"]] = ["H30", "内服外来院内"] df14_2.to_csv('/content/drive/MyDrive/Colab Notebooks/医療/データ/H30_内服外来院内.csv') url15 = "https://www.mhlw.go.jp/content/12400000/000560113.xlsx" df15 = pd.read_excel(url15, skiprows=[0, 1, 3], dtype = {"薬効\n分類":"object", "医薬品\nコード":"object", "後発品\n区分":"object"}) df15[["薬効\n分類", "薬効分類名称"]] = df15[["薬効\n分類", "薬効分類名称"]].fillna(method='ffill') df15_1 = df15.rename(columns={"薬効\n分類": "薬効分類", "医薬品\nコード":"医薬品コード", "薬価基準収載\n医薬品コード":"薬価基準収載医薬品コード", "後発品\n区分":"後発品区分"}) df15_2 = df15_1.copy() df15_2[["年度", "剤型_場所"]] = ["H30", "内服入院"] df15_2.to_csv('/content/drive/MyDrive/Colab Notebooks/医療/データ/H30_内服入院.csv') # H31 url16 = "https://www.mhlw.go.jp/content/12400000/000821761.xlsx" df16 = pd.read_excel(url16, skiprows=[0, 1, 3], dtype = {"薬効\n分類":"object", "医薬品\nコード":"object", "後発品\n区分":"object"}) df16[["薬効\n分類", "薬効分類名称"]] = df16[["薬効\n分類", "薬効分類名称"]].fillna(method='ffill') df16_1 = df16.rename(columns={"薬効\n分類": "薬効分類", "医薬品\nコード":"医薬品コード", "薬価基準収載\n医薬品コード":"薬価基準収載医薬品コード", "後発品\n区分":"後発品区分"}) df16_2 = df16_1.copy() df16_2[["年度", "剤型_場所"]] = ["H31", "内服外来院外"] df16_2.to_csv('/content/drive/MyDrive/Colab Notebooks/医療/データ/H31_内服外来院外.csv') url17 = "https://www.mhlw.go.jp/content/12400000/000821765.xlsx" df17 = pd.read_excel(url17, skiprows=[0, 1, 3], dtype = {"薬効\n分類":"object", "医薬品\nコード":"object", "後発品\n区分":"object"}) df17[["薬効\n分類", "薬効分類名称"]] = df17[["薬効\n分類", "薬効分類名称"]].fillna(method='ffill') df17_1 = df17.rename(columns={"薬効\n分類": "薬効分類", "医薬品\nコード":"医薬品コード", "薬価基準収載\n医薬品コード":"薬価基準収載医薬品コード", "後発品\n区分":"後発品区分"}) df17_2 = df17_1.copy() df17_2[["年度", "剤型_場所"]] = ["H31", "内服外来院内"] df17_2.to_csv('/content/drive/MyDrive/Colab Notebooks/医療/データ/H31_内服外来院内.csv') url18 = "https://www.mhlw.go.jp/content/12400000/000821767.xlsx" df18 = pd.read_excel(url18, skiprows=[0, 1, 3], dtype = {"薬効\n分類":"object", "医薬品\nコード":"object", "後発品\n区分":"object"}) df18[["薬効\n分類", "薬効分類名称"]] = df18[["薬効\n分類", "薬効分類名称"]].fillna(method='ffill') df18_1 = df18.rename(columns={"薬効\n分類": "薬効分類", "医薬品\nコード":"医薬品コード", "薬価基準収載\n医薬品コード":"薬価基準収載医薬品コード", "後発品\n区分":"後発品区分"}) df18_2 = df18_1.copy() df18_2[["年度", "剤型_場所"]] = ["H31", "内服入院"] df18_2.to_csv('/content/drive/MyDrive/Colab Notebooks/医療/データ/H31_内服入院.csv') # R2 url19 = "https://www.mhlw.go.jp/content/12400000/000987610.xlsx" df19 = pd.read_excel(url19, skiprows=[0, 1, 3], dtype = {"薬効\n分類":"object", "医薬品\nコード":"object", "後発品\n区分":"object"}) df19[["薬効\n分類", "薬効分類名称"]] = df19[["薬効\n分類", "薬効分類名称"]].fillna(method='ffill') df19_1 = df19.rename(columns={"薬効\n分類": "薬効分類", "医薬品\nコード":"医薬品コード", "薬価基準収載\n医薬品コード":"薬価基準収載医薬品コード", "後発品\n区分":"後発品区分"}) df19_2 = df19_1.copy() df19_2[["年度", "剤型_場所"]] = ["R2", "内服外来院外"] df19_2.to_csv('/content/drive/MyDrive/Colab Notebooks/医療/データ/R2_内服外来院外.csv') url20 = "https://www.mhlw.go.jp/content/12400000/000987613.xlsx" df20 = pd.read_excel(url20, skiprows=[0, 1, 3], dtype = {"薬効\n分類":"object", "医薬品\nコード":"object", "後発品\n区分":"object"}) df20[["薬効\n分類", "薬効分類名称"]] = df20[["薬効\n分類", "薬効分類名称"]].fillna(method='ffill') df20_1 = df20.rename(columns={"薬効\n分類": "薬効分類", "医薬品\nコード":"医薬品コード", "薬価基準収載\n医薬品コード":"薬価基準収載医薬品コード", "後発品\n区分":"後発品区分"}) df20_2 = df20_1.copy() df20_2[["年度", "剤型_場所"]] = ["R2", "内服外来院内"] df20_2.to_csv('/content/drive/MyDrive/Colab Notebooks/医療/データ/R2_内服外来院内.csv') url21 = "https://www.mhlw.go.jp/content/12400000/000987615.xlsx" df21 = pd.read_excel(url21, skiprows=[0, 1, 3], dtype = {"薬効\n分類":"object", "医薬品\nコード":"object", "後発品\n区分":"object"}) df21[["薬効\n分類", "薬効分類名称"]] = df21[["薬効\n分類", "薬効分類名称"]].fillna(method='ffill') df21_1 = df21.rename(columns={"薬効\n分類": "薬効分類", "医薬品\nコード":"医薬品コード", "薬価基準収載\n医薬品コード":"薬価基準収載医薬品コード", "後発品\n区分":"後発品区分"}) df21_2 = df21_1.copy() df21_2[["年度", "剤型_場所"]] = ["R2", "内服入院"] df21_2.to_csv('/content/drive/MyDrive/Colab Notebooks/医療/データ/R2_内服入院.csv') # R3 url22 = "https://www.mhlw.go.jp/content/12400000/001122627.xlsx" df22 = pd.read_excel(url22, skiprows=[0, 1, 3], dtype = {"薬効\n分類":"object", "医薬品\nコード":"object", "後発品\n区分":"object"}) df22[["薬効\n分類", "薬効分類名称"]] = df22[["薬効\n分類", "薬効分類名称"]].fillna(method='ffill') df22_1 = df22.rename(columns={"薬効\n分類": "薬効分類", "医薬品\nコード":"医薬品コード", "薬価基準収載\n医薬品コード":"薬価基準収載医薬品コード", "後発品\n区分":"後発品区分"}) df22_2 = df22_1.copy() df22_2[["年度", "剤型_場所"]] = ["R3", "内服外来院外"] df22_2.to_csv('/content/drive/MyDrive/Colab Notebooks/医療/データ/R3_内服外来院外.csv') url23 = "https://www.mhlw.go.jp/content/12400000/001122629.xlsx" df23 = pd.read_excel(url23, skiprows=[0, 1, 3], dtype = {"薬効\n分類":"object", "医薬品\nコード":"object", "後発品\n区分":"object"}) df23[["薬効\n分類", "薬効分類名称"]] = df23[["薬効\n分類", "薬効分類名称"]].fillna(method='ffill') df23_1 = df23.rename(columns={"薬効\n分類": "薬効分類", "医薬品\nコード":"医薬品コード", "薬価基準収載\n医薬品コード":"薬価基準収載医薬品コード", "後発品\n区分":"後発品区分"}) df23_2 = df23_1.copy() df23_2[["年度", "剤型_場所"]] = ["R3", "内服外来院内"] df23_2.to_csv('/content/drive/MyDrive/Colab Notebooks/医療/データ/R3_内服外来院内.csv') url24 = "https://www.mhlw.go.jp/content/12400000/001122631.xlsx" df24 = pd.read_excel(url24, skiprows=[0, 1, 3], dtype = {"薬効\n分類":"object", "医薬品\nコード":"object", "後発品\n区分":"object"}) df24[["薬効\n分類", "薬効分類名称"]] = df24[["薬効\n分類", "薬効分類名称"]].fillna(method='ffill') df24_1 = df24.rename(columns={"薬効\n分類": "薬効分類", "医薬品\nコード":"医薬品コード", "薬価基準収載\n医薬品コード":"薬価基準収載医薬品コード", "後発品\n区分":"後発品区分"}) df24_2 = df24_1.copy() df24_2[["年度", "剤型_場所"]] = ["R3", "内服入院"] df24_2.to_csv('/content/drive/MyDrive/Colab Notebooks/医療/データ/R3_内服入院.csv')
コメント
コメントを投稿