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())