セクション 4. 章 4
single
高度なグループ化
メニューを表示するにはスワイプしてください
.groupby()メソッドについてさらに理解を深めましょう。ご存知の通り、.agg()メソッドを使用できます。この関数の主な利点は柔軟性にあり、複数かつ異なる集約処理を複数の列に同時に適用でき、見やすいサマリーテーブルを返します。
以下の例を見てください。フライトデータを'Airline'でグループ化しています。その後、.agg()を使い、フライトの総数('Delay'列を使用)をカウントし、同時に最短および最長のフライト時間('Length'列を使用)も算出しています。とても便利です。
1234import 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))
解説:
.agg({'Delay': 'count', 'Length': ['min', 'max']})
.agg():"aggregate"(集約)の略称。このメソッドはグループ化されたデータを、指定したルールに基づいて要約統計量にまとめます。{}:Pythonの辞書を使い、特定の列に特定の処理を割り当てます。キーが対象の列名、値が適用する関数です。'Delay': 'count':各グループの'Delay'列にcount関数を適用します。'count'と書かずに文字列エイリアスcount()を渡している点に注意してください。pandasはこれらの標準的な統計関数名を認識します。'Length': ['min', 'max']:1つの列に複数の関数を適用したい場合、関数名をリスト[]に入れます。ここでは'Length'列の最小値と最大値を計算しています。
複数の関数を適用したため、結果のDataFrameには自動的に階層(MultiIndex)カラムが作成されます。上位レベルにLengthが表示され、その下にminとmaxが分類されます。
タスク
スワイプしてコーディングを開始
出発空港ごと、さらに到着空港ごとに、平均および最大の遅延時間を調べます。また、フライトの中央値の長さも確認します。次のアルゴリズムに従ってください。
データのグループ化:
- データセット
.groupby()に対してdataメソッドを適用します; .groupby()メソッド内には、カラム'AirportFrom'と'AirportTo'を指定します(順序が重要です);.agg()メソッドを使い、集約値を計算します:カラム'Time'の平均値と最大値、カラム'Length'の中央値を算出します。
解答
すべて明確でしたか?
フィードバックありがとうございます!
セクション 4. 章 4
single
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください