セクション 4. 章 2
single
複数の列によるグループ化
メニューを表示するにはスワイプしてください
.groupby() メソッドに関する情報の追加。複数の列でグループ化することが可能ですが、この場合は順序が重要です。前の章では、フライト番号でデータをグループ化し、遅延の回数をカウントしました。この作業をさらに複雑にするために、'Flight' 列だけでなく、'Airline' 列でもグループ化します。データセットの情報を再確認し、次のシンプルな例を見てください(出力は最初の10行のみを含みます):
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[['Flight', 'Delay', 'Airline']].groupby(['Flight', 'Airline']).count() print(data_flights.head(10))
解説:
data[['Flight', 'Delay', 'Airline']].groupby(['Flight', 'Airline']).count()
data[['Flight', 'Delay', 'Airline']]- 作業対象の列。グループ化に使用する列も含む;.groupby(['Flight', 'Airline'])- ここで'Flight'と'Airline'は.groupby()関数の引数。
複数の列でグループ化したい場合は、リストにして渡す必要があり、順序が重要です。この例では、データセットの行が 'Flight' 列で同じ値を持つ場合、それらは同じグループに分類されます。そのグループ内で、さらに 'Airline' 列で同じ値を持つ行ごとにグループが作られます。そして、.count() メソッドによって、各 'Delay' グループ内で 'Airline' 列ごとに 'Flight' 列の行数が計算されます。
タスク
スワイプしてコーディングを開始
ここでの課題は、フライトが出発した空港ごと、さらに曜日ごとにデータをグループ化し、各グループの平均時間を算出することです。以下のアルゴリズムに従ってタスクを進めてください:
- データのグループ化:
dataから'AirportFrom'、'DayOfWeek'、'Time'の列をこの順番で抽出します;- 上記の列に対して
.groupby()メソッドを適用します; .groupby()メソッド内では'AirportFrom'と'DayOfWeek'の列を指定します(順番が重要です);'Time'列の平均値を計算します。
10の最初のdata_flights行を出力します。
解答
すべて明確でしたか?
フィードバックありがとうございます!
セクション 4. 章 2
single
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください