Search this site
Embedded Files
AIMD GPDS Courses
  • Home
  • Courses
  • Contact
AIMD GPDS Courses
  • Home
  • Courses
  • Contact
  • More
    • Home
    • Courses
    • Contact

English  ❯

レッスン 2   ❮   レッスン一覧    ❮    トップ

2.1  ブールでのフィルタリング

2.2  グルーピング

❯  2.3  アグリゲーション

2.4  連鎖・結合・マージ

⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺
推定完了時間
❲▹❳  動画   9m36s
☷  コード資料   5m

以下の目的を達成するために、groupbyというデータフレームメソッドの柔軟性を紹介します。

  1. 平日の曜日ごとに、すべての航空会社のキャンセル便の数を見つける。

  2. 出発地と目的地ごとに、総フライト数、キャンセルされたフライトの数と割合、エアタイムの平均と分散を見つける。

GroupByオブジェクトでの集約関数の使用

フライトのデータセットを読み込んで、以下のように定義します。

  •  グループ列: AIRLINE

  • アグリゲーション(集約)列: ARR_DELAY

  • 集約関数: mean

groupbyメソッドにグループ列を配置し、集約列とその集約関数をペアにした辞書を使ってaggメソッドを呼び出します。

複数の列の集約

さて、フライトのデータセットを読み込んで、最初の質問に答えるために、次のように定義します。

  • グループ列: AIRLINE、WEEKDAY

  • 集約列: CANCELLED

  • 集約関数:sum

複数の関数での集約

2番目の目的を達成するために、以下のように定義します。

  • グループ列: ORG_AIR, DEST_AIR

  • 集約列: CANCELLED, AIR_TIME

  • 集約関数:

    • CANCELLED:
      sum, mean

    • AIR_TIME:
      mean, var

より簡単に行うために、aggメソッドで辞書を使用して、特定の集計列を特定の集計関数にマッピングします。

自作関数による集約

問題:

  1. 各航空会社の長距離フライト数(3時間以上)の合計はいくつですか?

  2. 各航空会社の遅延便の合計の平方根はいくつですか?

pandasはそのための正確な集約関数を提供していないので、その関数を自分たちで定義することができます。

1番目の問題に対して

  • グループ列: AIRLINE

  • 集約列: AIR_TIME

  • 集約関数:

    • CANCELLED:
      sumただし、値が180より大きい時のみ

2番目の問題に対して

  • グループ列: AIRLINE

  • 集約列: AIR_TIME

  • 集約関数:

    • ARR_DELAY:ただし
      lenを二乗にします

©2023. All rights reserved.  Samy Baladram,
Graduate Program in Data Science - GSIS - Tohoku University
Google Sites
Report abuse
Page details
Page updated
Google Sites
Report abuse