#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')

コメント