P-044: 043で作成した売上サマリデータ(df_sales_summary)は性別の売上を横持ちさせたものであった。このデータから性別を縦持ちさせ、年代、性別コード、売上金額の3項目に変換せよ。ただし、性別コードは男性を"00"、女性を"01"、不明を"99"とする。
横持ちと縦持ちの話。
ググると色々出てくるけど、私は↓が一番わかりやすかった。
性別の表示の書き換えはreplace。
まただいぶ解答例と違う回答をした、、、
stack_df_sales_summary = df_sales_summary.melt(
id_vars = "ages",
value_vars = ["0","1","9"],
var_name = "gender",
value_name = "amount"
)
stack_df_sales_summary.replace({"gender":{"0":"00","1":"01","9":"99"}}).\
sort_values(by=["ages","gender"]).reset_index(drop=True)
でもまぁ同じ出力は出てるのでいいか。
解答例と同じ出力のためにソートはやってるからソートはおまけ。
多分これだけで1時間半~2時間ぐらいうなってた気がする、、、
まだまだアホなのです、、、
明日からまた平日なので今日はこれだけ。