本日は、曜日別の稼働率を算出するためのデータ処理と可視化を進めた。予約データから特定の部屋をを除外し、曜日別の分析を行った。しかし、曜日ごとの稼働率が均一になってしまう問題や、計算結果が想定外の値(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_date
をdatetime
型に変換し、曜日カラムを追加。groupby
を用いて曜日別の販売数を集計し、部屋数を考慮した稼働率を算出。matplotlib
とseaborn
を用いたグラフを作成し、Streamlit
で表示。- X軸の曜日順を統一し、Y軸のフォーマットを0~100%で表示するよう調整。
今後の進め方
df_weekday
のような仮想カラムを作成し、曜日別の正確な稼働率を算出する方法を検討。- 週単位だけでなく、月単位・シーズン単位での稼働率も分析可能にする。
- 予約データの形式が統一されていない可能性があるため、前処理の段階でデータクレンジングを強化。
- 可視化の改善(曜日別の傾向をより直感的に理解できるグラフの作成)。