開発日誌Vol.010 – 曜日別稼働率の調整とデータ処理

本日は、曜日別の稼働率を算出するためのデータ処理と可視化を進めた。予約データから特定の部屋をを除外し、曜日別の分析を行った。しかし、曜日ごとの稼働率が均一になってしまう問題や、計算結果が想定外の値(0.0%~300.0%)になる問題が発生したため、処理方法を改善。また、データの前処理に関する調整も行った。

コード修正・エラー対応

  • KeyError: ‘宿泊日’
    • データフレームのカラム名が 宿泊日 ではなく check_in_date だったため、修正。
  • ValueError: time data doesn’t match format
    • check_in_date の日付フォーマットが不揃いだったため、format="mixed", errors="coerce" を指定して変換。
  • 稼働率の計算結果が300%になる問題
    • 部屋数(room_count_dict)を考慮した週ごとの部屋供給数の計算に誤りがあり、修正。
  • 土曜日の稼働率が低く見えてしまう問題
    • df_weekday のような仮想カラムを作成し、曜日ごとの正確な集計を行うべきか検討中。

データ処理・分析・可視化の進捗

  • 予約データの status を基に、キャンセルデータを除外。
  • 部屋タイプごとの部屋数を定義し、曜日ごとの稼働率を計算。
  • check_in_datedatetime 型に変換し、曜日カラムを追加。
  • groupby を用いて曜日別の販売数を集計し、部屋数を考慮した稼働率を算出。
  • matplotlibseaborn を用いたグラフを作成し、Streamlit で表示。
  • X軸の曜日順を統一し、Y軸のフォーマットを0~100%で表示するよう調整。

今後の進め方

  • df_weekday のような仮想カラムを作成し、曜日別の正確な稼働率を算出する方法を検討。
  • 週単位だけでなく、月単位・シーズン単位での稼働率も分析可能にする。
  • 予約データの形式が統一されていない可能性があるため、前処理の段階でデータクレンジングを強化。
  • 可視化の改善(曜日別の傾向をより直感的に理解できるグラフの作成)。
タイトルとURLをコピーしました