データパイプライン内でのロギング
この演習では、前の動画で作成した関数を振り返り、その関数にロギングを追加する練習をします。これにより、エラーのトラブルシューティングやロジックの変更がしやすくなります。
pandas は pd としてインポート済みです。それに加えて logging モジュールもインポートされており、デフォルトのログレベルは "debug" に設定されています。
この演習はコースの一部です
Python で学ぶ ETL と ELT
演習の手順
- 変換処理の後に info レベルのログを作成し、文字列
"Transformed 'Order Date' column to type 'datetime'."を渡してください。 - フィルタリングの前後で、DataFrame の
.shapeを debug レベルでログに記録してください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
def transform(raw_data):
raw_data["Order Date"] = pd.to_datetime(raw_data["Order Date"], format="%m/%d/%y %H:%M")
clean_data = raw_data.loc[raw_data["Price Each"] < 10, :]
# Create an info log regarding transformation
logging.____("Transformed 'Order Date' column to type 'datetime'.")
# Create debug-level logs for the DataFrame before and after filtering
____(f"Shape of the DataFrame before filtering: {raw_data.shape}")
____(f"Shape of the DataFrame after filtering: {clean_data.shape}")
return clean_data
clean_sales_data = transform(raw_sales_data)