pandas の DataFrame をフィルタリングする
ソースシステムからデータを抽出したら、次は変換の出番です。多くの場合、ソースデータには下流のユースケースに不要な情報が含まれています。このような場合は、データパイプラインの「transform」段階で次元数を減らすべきです。
pandas は pd としてインポート済みで、extract() 関数を使って、渡されたパスから DataFrame を読み込めます。
この演習はコースの一部です
Python で学ぶ ETL と ELT
演習の手順
extract()関数を使って、"sales_data.parquet"パスに保存された DataFrame を読み込みます。transform()関数を更新し、"Quantity Ordered"が 1 より大きいすべての行と列を返すようにします。- さらに
clean_dataDataFrame をフィルタリングし、"Order Date"、"Quantity Ordered"、"Purchase Address"の列のみを含めます。 - フィルタリング後の DataFrame を返します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Extract data from the sales_data.parquet path
raw_sales_data = ____("sales_data.parquet")
def transform(raw_data):
# Only keep rows with `Quantity Ordered` greater than 1
clean_data = raw_data.____[____, :]
# Only keep columns "Order Date", "Quantity Ordered", and "Purchase Address"
clean_data = ____
# Return the filtered DataFrame
return ____
transform(raw_sales_data)