Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ 高度なグループ化 | データの集約
Pandasによるデータ整形
セクション 4.  4
single

single

book高度なグループ化

メニューを表示するにはスワイプしてください

.groupby()メソッドについてさらに理解を深めましょう。ご存知の通り、.agg()メソッドを使用できます。この関数の主な利点は柔軟性にあり、複数かつ異なる集約処理を複数の列に同時に適用でき、見やすいサマリーテーブルを返します。

以下の例を見てください。フライトデータを'Airline'でグループ化しています。その後、.agg()を使い、フライトの総数('Delay'列を使用)をカウントし、同時に最短および最長のフライト時間('Length'列を使用)も算出しています。とても便利です。

1234
import pandas as pd data = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/4bf24830-59ba-4418-969b-aaf8117d522e/plane', index_col = 0) data_flights = data.groupby('Airline').agg({'Delay': 'count', 'Length': ['min', 'max']}) print(data_flights.head(10))
copy

解説:

.agg({'Delay': 'count', 'Length': ['min', 'max']})
  • .agg():"aggregate"(集約)の略称。このメソッドはグループ化されたデータを、指定したルールに基づいて要約統計量にまとめます。
  • {}:Pythonの辞書を使い、特定の列に特定の処理を割り当てます。キーが対象の列名、値が適用する関数です。
  • 'Delay': 'count':各グループの'Delay'列にcount関数を適用します。'count'と書かずに文字列エイリアスcount()を渡している点に注意してください。pandasはこれらの標準的な統計関数名を認識します。
  • 'Length': ['min', 'max']:1つの列に複数の関数を適用したい場合、関数名をリスト[]に入れます。ここでは'Length'列の最小値と最大値を計算しています。

複数の関数を適用したため、結果のDataFrameには自動的に階層(MultiIndex)カラムが作成されます。上位レベルにLengthが表示され、その下にminmaxが分類されます。

タスク

スワイプしてコーディングを開始

出発空港ごと、さらに到着空港ごとに、平均および最大の遅延時間を調べます。また、フライトの中央値の長さも確認します。次のアルゴリズムに従ってください。

データのグループ化:

  • データセット .groupby() に対して data メソッドを適用します;
  • .groupby() メソッド内には、カラム 'AirportFrom''AirportTo' を指定します(順序が重要です);
  • .agg() メソッドを使い、集約値を計算します:カラム 'Time' の平均値と最大値、カラム 'Length' の中央値を算出します。

解答

Switch to desktop実践的な練習のためにデスクトップに切り替える下記のオプションのいずれかを利用して、現在の場所から続行する
すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 4.  4
single

single

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

some-alt