Split-Apply-Combineを理解する
あらゆるgroupbyの基盤となる考え方
「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フィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- Split-Apply-Combineを理解する
- aggで複数の集計を行う
- 複数のキーでグループ化する
- グループ単位の特徴量にtransformを使う