agg()
では、複数の集約値を一括で計算できます。次のように、集約に使う関数名のリストを渡します。
df.agg(関数名のリスト)
agg()
の戻り値は下記のようになります。
DataFrame.agg() | Series.agg() | |
---|---|---|
引数が関数名 | Series | スカラー |
引数が関数名のリスト | DataFrame | Series |
※ 上表は、agg()
の引数で指定する関数が、min()
のようにスカラーを返す関数の場合です。
具体例で確認しましょう。前問と同じdf
を使います。
TaskName | WorkTime | LimitDate | |
---|---|---|---|
0 | 資料ABC確認 | 1.5 | 2022-04-11 |
1 | 資料XYZ確認 | 0.5 | 2022-04-01 |
2 | 報告書まとめ | 1.5 | 2022-04-05 |
3 | 本社ミーティング | 4.0 | 2022-04-04 |
4 | 出張報告書の提出 | 1.0 | 2022-04-05 |
列WorkTime
の最小値と最大値は、以下のようになります。
df.WorkTime.agg(["min", "max"])
実行結果
min 0.5
max 4.0
Name: WorkTime, dtype: float64
演習
タスク一覧を読み込みます。In [1]:
import pandas as pd df = pd.read_csv("dataset/task.csv", encoding="utf-8") df
Out[1]:
TaskName | WorkTime | LimitDate | |
---|---|---|---|
0 | 資料ABC確認 | 1.5 | 2022/04/11 |
1 | 資料XYZ確認 | 0.5 | 2022/04/01 |
2 | 報告書まとめ | 1.5 | 2022/04/05 |
3 | 本社ミーティング | 4.0 | 2022/04/04 |
4 | 出張報告書の提出 | 1.0 | 2022/04/05 |
DataFrameの列ごとに最小値と最大値を計算します。引数には[“min”, “max”]を指定します。 結果はDataFrameになり、1行目が最小値の行に、2行目が最大値の行になります。In [2]:
df.agg(["min", "max"])
Out[2]:
TaskName | WorkTime | LimitDate | |
---|---|---|---|
min | 出張報告書の提出 | 0.5 | 2022/04/01 |
max | 資料XYZ確認 | 4.0 | 2022/04/11 |
列WorkTime
の最小値と最大値を計算します。引数は同じです。 結果はSeriesになり、1つ目が最小値に、2つ目が最大値になります。In [3]:
df.WorkTime.agg(["min", "max"])
Out[3]:
min 0.5 max 4.0 Name: WorkTime, dtype: float64
補足
agg()
では関数名のリストだけではなく、関数のリストも指定できます。実際に確認してみましょう。
下記を実行するとdf.agg(["min", "max"])
と同じ結果になります。
df.agg([pd.DataFrame.min, pd.DataFrame.max])
また、下記を実行するとdf.WorkTime.agg(["min", "max"])
と同じ結果になります。
df.WorkTime.agg([pd.Series.min, pd.Ser
コメント