#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
)
コメント
コメントを投稿