Dataframe.aggregate ()関数を使用し、PandasにおけるDataFrameの集計を行う

Dataframe.aggregate ()関数を使用し、PandasにおけるDataFrameの集計を行ってみます。

なお、Dataframe.aggregate ()関数を使用すると、1つ以上の列に集計することができます。

■Python

今回のPythonのバージョンは、「3.8.5」を使用しています。(Windows10)(pythonランチャーでの確認)

■DataFrameを作成する

Dataframe.aggregate ()関数を使用し、PandasにおけるDataFrameの集計を行ってみますので、まずは、DataFrameを作成します。

■コード

import pandas as pd 

data = {
    '名前':['田中','小林','大里','大村','近藤'],
    '理科':[45,76,89,54,66],
    '歴史':[64,55,71,83,32]
}

df = pd.DataFrame(data,columns=['名前','理科','歴史'])

print(df)

インポートでPandasモジュールを呼び出します。dataという変数を作成し、その中に「名前」、「理科」、「歴史」という3つの列を格納します。

格納後、dfという変数を作成し、pd.DataFrame()と記述し、DataFrameを作成。作成後、dfという変数に格納します。

■実行

このスクリプトを実行すると、作成したDataFrameが出力されます。

■PandasにおけるDataFrameの集計を行い、指定した列のすべての値の最小値と合計を出力する

DataFrameの用意ができましたので、PandasにおけるDataFrameの集計を行い、指定した列のすべての値の最小値と合計を出力するスクリプトを書いていきます。

■コード

import pandas as pd 

data = {
    '名前':['田中','小林','大里','大村','近藤'],
    '理科':[45,76,89,54,66],
    '歴史':[64,55,71,83,32]
}

df = pd.DataFrame(data,columns=['名前','理科','歴史'])

print(df)

print(df.aggregate({'理科':['sum','min'],
                   '歴史':['sum','min']}))

DataFrameの集計を行い、指定した列のすべての値の最小値と合計を出力するためには、dfという変数を作成し、pd.DataFrame()と記述し、DataFrameを作成。作成後、dfという変数に格納します。

その後に、Dataframe.aggregate ()関数を使用し、括弧内に今回用意したDataFrame内の列を指定し、さらに[]と記述し、”sum”と”min”を記述します。

sumは指定した列の値の合計を返します。minは指定した列の値の最小値を返します。さらに、今回は使用しませんが、maxと記述すると指定した列の値の最大値を返すことができます。

なお、今回は「理科」という列と「歴史」という列の合計点と最小値をprint関数で出力してみます。

■実行

このスクリプトを「df_aggr_2.py」という名前で保存し、コマンドプロンプトから実行させてみます。

実行させてみると、DataFrame内のデータが集計され、指定した列のすべての値の最小値と合計を出力することができました。

コメント

タイトルとURLをコピーしました