pandas でデータをグループ化する
データパイプラインの出力は、通常「モデル化された」データセットです。このデータセットを使うと、データの利用者は複雑な加工をせずに情報へ簡単にアクセスできます。pandas でデータをグループ化することは、モデル化されたデータセットの構築に役立ちます。
pandas は pd としてインポート済みで、raw_testing_scores という DataFrame には以下のような形式のデータが含まれています。
street_address city math_score reading_score writing_score
01M539 111 Columbia Street Manhattan 657.0 601.0 601.0
02M294 350 Grand Street Manhattan 395.0 411.0 387.0
02M308 350 Grand Street Manhattan 418.0 428.0 415.0
この演習はコースの一部です
Python で学ぶ ETL と ELT
演習の手順
.loc[]を使って、"city"、"math_score"、"reading_score"、"writing_score"の列だけを残します。- DataFrame を
"city"列でグループ化し、各都市の math、reading、writing の平均点を求めます。 transform()関数を使って、グループ化された DataFrame を作成します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
def transform(raw_data):
# Use .loc[] to only return the needed columns
raw_data = raw_data.____[:, ____]
# Group the data by city, return the grouped DataFrame
grouped_data = raw_data.____(by=["____"], axis=0).____()
return grouped_data
# Transform the data, print the head of the DataFrame
grouped_testing_scores = ____(raw_testing_scores)
print(grouped_testing_scores.head())