#36 縦型(long型)に変換
前回結合したデータを「melt」使って、データを変数が一列にまとめられている縦型にしていきます。これにより、集計がしやすくなります。
Excelデータは人間が見やすいように横型(wide型)になっていることが多いのですが、集計する際は、縦型(long型)にすることが必要です。これは、変数が一列にまとめられているからです。
この縦変換には、「melt」を用います。
● データを縦型に変換する
89 pandas.melt( データ名
, id_vars=固定される列名
, value_vars=meltする識別変数
, var_name=meltする識別変数の名前
, value_name=meltする識別変数の値の名前 )
● 不要な列を削除する
90 データ名.drop(“列名”, axis=1)
************
■まずは、下記の動画(4分52秒)をご覧ください。
■次にプログラムの解説を自分のペースで読み、コラボでプログラムを書いてみましょう。下記のスライドを参照してください。
************
★参考資料
■ 【pandas】melt, pivot:縦横変換【データフレーム処理】 by shunさんの「データサイエンスの道標」
************
■このセクションのプログラムは下記のようになります。
実際に、コピペしてコラボで試してみましょう!
df_all3 = df_all.drop(["Unnamed: 0", "単位"], axis=1) df_all3
df_all4 = 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='個数', col_level=None )
コメント
コメントを投稿