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

single

book複数の列によるグループ化

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

.groupby() メソッドに関する情報の追加。複数の列でグループ化することが可能ですが、この場合は順序が重要。前の章ではフライト番号でデータをグループ化し、遅延の回数をカウントしました。今回は 'Flight' 列だけでなく、'Airline' 列でもグループ化することで、より複雑な処理を行います。データセットの情報を再確認し、次のシンプルな例を見てください(出力は最初の10行のみ表示):

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[['Flight', 'Delay', 'Airline']].groupby(['Flight', 'Airline']).count() print(data_flights.head(10))
copy

解説:

data[['Flight', 'Delay', 'Airline']].groupby(['Flight', 'Airline']).count()
  • data[['Flight', 'Delay', 'Airline']] - 作業対象の列。グループ化に使用する列も含む;
  • .groupby(['Flight', 'Airline']) - ここで 'Flight''Airline'.groupby() 関数の引数。

複数の列でグループ化したい場合は、リストにして指定する必要がある点に注意。今回の場合、データセットの行が 'Flight' 列で同じ値を持つ場合、それらは同じグループにまとめられる。そのグループ内でさらに 'Airline' 列で同じ値を持つ行ごとにグループ分けされる。その後、.count() メソッドによって、各 'Delay' グループ内で 'Airline' ごとに 'Flight' 列の行数が計算される。

タスク

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

ここでは、フライトが出発した空港ごと、さらに曜日ごとにデータをグループ化し、各グループの平均時間を算出します。次のアルゴリズムに従ってタスクを進めてください。

  1. データのグループ化:
    • dataから 'AirportFrom''DayOfWeek''Time' の各列をこの順序で抽出します;
    • 抽出した列に対して .groupby() メソッドを適用します;
    • .groupby() メソッド内には 'AirportFrom''DayOfWeek' の列を指定します(順序が重要です);
    • 'Time' 列の平均値を算出します。
  2. 10 の最初の data_flights 行を出力します。

解答

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

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

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

セクション 4.  2
single

single

AIに質問する

expand

AIに質問する

ChatGPT

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

some-alt