Pandas DataFrame DataFrame.aggregate()関数
Minahil Noor
2023年1月30日
-
pandas.DataFrame.aggregate()
の構文 -
コード例:Pandas
DataFrame.aggregate()
-
コード例:複数の関数を使用する
DataFrame.aggregate()
-
コード例:列を指定する
DataFrame.aggregate()
pandas.DataFrame.aggregate()
関数は、DataFrame の列または行を集計します
。最も一般的に使用される集計関数は、min
、max
、および sum
です。これらの集計関数により、DataFrame
のサイズが縮小されます。
pandas.DataFrame.aggregate()
の構文
DataFrame.aggregate(func, 戻り値, *args, **kwargs)
パラメーター
func |
適用されるのは集計関数です。callable または callables のリスト、文字列または文字列のリスト、または dictionary にすることができます。 |
axis |
デフォルトでは 0。0 または 'index' の場合、関数は個々の列に適用されます。1 または 'columns' の場合、関数は個々の行に適用されます |
*args |
これは位置引数です。 |
**kwargs |
キーワード引数です。 |
戻り値
この関数はスカラー、Series
または DataFrame
を返します。
- 単一の関数が
Series.agg()
で呼び出された場合、スカラーを返します。 - 単一の関数が
DataFrame.agg()
で呼び出された場合、Series
を返します。 - 複数の関数が
DataFrame.agg()
で呼び出された場合、DataFrame
を返します。
コード例:Pandas DataFrame.aggregate()
DataFrame.agg()
は DataFrame.aggregate()
のエイリアスです。単純さのため、エイリアスを使用する方が適切です。したがって、サンプルコードでは DataFrame.agg()
を使用します。
import pandas as pd
dataframe=pd.DataFrame({'Attendance': {0: 60, 1: 100, 2: 80,3: 78,4: 95},
'Name': {0: 'Olivia', 1: 'John', 2: 'Laura',3: 'Ben',4: 'Kevin'},
'Obtained Marks': {0: 90, 1: 75, 2: 82, 3: 64, 4: 45}})
print(dataframe)
DataFrame
の例を以下に示します。
Attendance Name Obtained Marks
0 60 Olivia 90
1 100 John 75
2 80 Laura 82
3 78 Ben 64
4 95 Kevin 45
最初に、単一の集計関数のみを使用して、DataFrame.agg()
関数をチェックします。
import pandas as pd
dataframe = pd.DataFrame(
{
"Attendance": {0: 60, 1: 100, 2: 80, 3: 78, 4: 95},
"Name": {0: "Olivia", 1: "John", 2: "Laura", 3: "Ben", 4: "Kevin"},
"Obtained Marks": {0: 90, 1: 75, 2: 82, 3: 64, 4: 45},
}
)
dataframe1 = dataframe.agg("sum")
print(dataframe1)
出力:
Attendance 413
Name OliviaJohnLauraBenKevin
Obtained Marks 356
dtype: object
集計関数 sum
は、個々の列に適用されます。
整数型の列の場合、合計が生成されます。また、文字列型の列では、文字列を連結しています。dtype:object
は Series
が返されることを示しています。
コード例:複数の関数を使用する DataFrame.aggregate()
import pandas as pd
dataframe = pd.DataFrame(
{
"Attendance": {0: 60, 1: 100, 2: 80, 3: 78, 4: 95},
"Name": {0: "Olivia", 1: "John", 2: "Laura", 3: "Ben", 4: "Kevin"},
"Obtained Marks": {0: 90, 1: 75, 2: 82, 3: 64, 4: 45},
}
)
dataframe1 = dataframe.agg(["sum", "min"])
print(dataframe1)
出力:
Attendance Name Obtained Marks
sum 413 OliviaJohnLauraBenKevin 356
min 60 Ben 45
集計関数 sum
と min
が個々の列に適用されます。
整数型の列の場合、min
関数は最小値を生成し、文字列型の列の場合、最小長の文字列を表示します。
コード例:列を指定する DataFrame.aggregate()
import pandas as pd
dataframe = pd.DataFrame(
{
"Attendance": {0: 60, 1: 100, 2: 80, 3: 78, 4: 95},
"Name": {0: "Olivia", 1: "John", 2: "Laura", 3: "Ben", 4: "Kevin"},
"Obtained Marks": {0: 90, 1: 75, 2: 82, 3: 64, 4: 45},
}
)
dataframe1 = dataframe.agg({"Obtained Marks": "sum"})
print(dataframe1)
出力:
Obtained Marks 356
dtype: int64
単一の列の合計が返されます。dtype:int64
は、この関数が Series
を返したことを示しています。
1つの列に複数の関数を適用することもできます。
import pandas as pd
dataframe = pd.DataFrame(
{
"Attendance": {0: 60, 1: 100, 2: 80, 3: 78, 4: 95},
"Name": {0: "Olivia", 1: "John", 2: "Laura", 3: "Ben", 4: "Kevin"},
"Obtained Marks": {0: 90, 1: 75, 2: 82, 3: 64, 4: 45},
}
)
dataframe1 = dataframe.agg({"Obtained Marks": ["sum", "max"]})
print(dataframe1)
出力:
Obtained Marks
sum 356
max 90