Supplement 2 DataFrameの比較

 forループで一気に作成したデータを縦型に変形し、本編で作成したデータ「naihuku」と同じ形に整形していきます。本編を思い出して、復習します。

その後、2つのDataFrameが同じものかどうか確認します。


プログラムを解説したスライドをご覧ください!


all_files = glob.glob('/content/drive/MyDrive/Colab Notebooks/医療/データ2/*.csv')
all_files


list = []
for i in all_files:
    list.append(pd.read_csv(i))

df_all = pd.concat(list, ignore_index=True)

df_all


df_all2 = pd.melt(df_all
                  , id_vars=['薬効分類', '薬効分類名称', '医薬品コード', '医薬品名'
                  ,'薬価基準収載医薬品コード', '薬価', '後発品区分','年度','剤型_場所']
                  , value_vars=['01', '02', '03', '04', '05'
                  , '06', '07', '08', '09', '10', '11','12', '13'
                  , '14', '15', '16', '17','18', '19', '20', '21'
                  , '22', '23', '24', '25', '26', '27', '28', '29'
                  , '30', '31', '32', '33', '34', '35', '36', '37'
                  , '38', '39', '40', '41', '42', '43', '44', '45'
                  , '46', '47']
                  , var_name='都道府県番号'
                  , value_name='個数'
                  )
df_all2


df_all2.replace("-", np.nan, inplace=True)
df_all2


df_all2.to_csv('/content/drive/MyDrive/Colab Notebooks/医療/naihuku_new.csv')


naihuku = pd.read_csv('/content/drive/MyDrive/Colab Notebooks/医療/naihuku.csv', index_col=0)
naihuku.sort_values(["都道府県番号", "年度", "医薬品名", "剤型_場所"], inplace=True)
naihuku.reset_index(drop=True, inplace=True)
naihuku.head()


naihuku_new = pd.read_csv('/content/drive/MyDrive/Colab Notebooks/医療/naihuku_new.csv', index_col=0)
naihuku_new.sort_values(["都道府県番号", "年度", "医薬品名", "剤型_場所"], inplace=True)
naihuku_new.reset_index(drop=True, inplace=True)
naihuku_new.head()


print("naihuku\n", naihuku.dtypes, "\nnaihuku_new\n", naihuku_new.dtypes)


naihuku2 = naihuku.astype({"薬効分類" : int})
naihuku2.head()


naihuku2.equals(naihuku_new)


コメント