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