Data Science Academy · レッスン

Split-Apply-Combineを理解する

あらゆるgroupbyの基盤となる考え方

レッスン 1/413 ステップ

「Split-Apply-Combineを理解する」はCoddyKit上の無料Data Science Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはData Science Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Data Science Academyコースには全4レッスンが含まれています。

1つの考え方、3つのステップ

すべてのgroupbyは、行をグループに分け、各グループに計算を適用し、その結果を再びまとめるという流れに従います。🔁

分割:キーで分ける

splitのステップでは、キー列に基づいて行を分割します。同じ値を持つすべての行が、同じ小さなグループに入ります。

groups = df.groupby("city")

適用:グループごとに処理する

applyのステップでは、同じ関数を各グループに個別に実行します。あるグループと別のグループが混ざることはありません。

df.groupby("city")["sales"].mean()

結合:結果をつなぎ合わせる

combineのステップでは、各グループの結果を1つの整った出力にまとめます。分割に使ったグループキーがインデックスになります。

groupbyは遅延実行される

groupbyを呼び出すだけでは、ほとんど何も起こりません。計画を記憶するだけで、実際の処理は集約を追加するまで待機します。

g = df.groupby("city")  # no math yet

グループキーがインデックスになる

集約した後は、group keyが結果のインデックスに移動します。そのため、各一意の値が出力の1行を示します。

集約する列を選ぶ

グループ化の後に列を選択すると、計算対象を絞り込めます。ここでは、各都市のsalesの平均を求めています。

df.groupby("city")["sales"].mean()

sizeでグループごとの行数を数える

各グループに入った行数だけを知りたい場合は、sizeを使います。欠損値を含む行も数えられます。

df.groupby("city").size()

グループを反復処理する

groupbyをループして内容を確認できます。反復するたびに、group nameと対応するサブテーブルが渡されます。

for name, part in df.groupby("city"):
    print(name, len(part))

手作業のループより優れている理由

split-apply-combineを使うと、遅い手書きのループを、pandasが最適化してくれる高速で読みやすい1行の処理に置き換えられます。⚡

最初から最後までの小さな例

この1行で、地域ごとに分割し、各グループの平均を求め、結果をまとめられます。すべてが読みやすい1つの式に収まっています。

df.groupby("region")["revenue"].mean()

クイックチェック

実際に計算を行うのはどのステップでしょうか。

まとめ:groupbyの流れ

グループ化の基本となる流れ、split、apply、combineを学びました。この流れを身につければ、後で登場する集約も自然に理解できるようになります。🎯

無料で開始

AI チューターと学ぶ Python — 無料

ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。

コース
30
レッスン
120

よくある質問

「Split-Apply-Combineを理解する」レッスンは無料ですか?

はい。「Split-Apply-Combineを理解する」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Data Science Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Data Science Academyコースには全4レッスンが含まれています。

「Split-Apply-Combineを理解する」で何を学びますか?

あらゆるgroupbyの基盤となる考え方 ブラウザで直接実行するハンズオンコードでData Science Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Data Science Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのData Science Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。

「Split-Apply-Combineを理解する」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このData Science Academyレッスンでコードを書いて実行できますか?

はい。すべてのData Science Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. Split-Apply-Combineを理解する
  2. aggで複数の集計を行う
  3. 複数のキーでグループ化する
  4. グループ単位の特徴量にtransformを使う
← Data Science Academyに戻る