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() を渡す点に注意してください。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