はじめに
この実験では、pandas ライブラリの agg() メソッドを使用して DataFrame 内のデータを集約する方法を学びます。このメソッドを使用すると、行や列などの指定された軸に対して 1 つ以上の操作を実行でき、選択した関数に基づいてスカラー、Series、または DataFrame を返します。
VM のヒント
VM の起動が完了したら、左上隅をクリックして Notebook タブに切り替え、Jupyter Notebook を使用して練習します。
場合によっては、Jupyter Notebook が読み込み完了するまで数秒待つ必要があります。Jupyter Notebook の制限により、操作の検証を自動化することはできません。
学習中に問題が発生した場合は、Labby にお問い合わせください。セッション後にフィードバックを提供してください。そうすると、迅速に問題を解決します。
pandas ライブラリをインポートする
まず、import 文を使用して pandas ライブラリをインポートする必要があります。
import pandas as pd
DataFrame を作成する
次に、操作対象の DataFrame オブジェクトを作成します。リストや配列から DataFrame を作成するには、pd.DataFrame() 関数を使用できます。以下は例です。
df = pd.DataFrame([[1, 2, 3], [4, 5, 6], [7, 8, 9]], columns=['A', 'B', 'C'])
行に対して単一の関数を使用して DataFrame を集約する
単一の関数を使用して DataFrame を集約するには、agg() メソッドを使用できます。文字列関数名または関数オブジェクトを使用して、行に適用する関数を指定します。以下は例です。
print("Printing the sum of values in DataFrame")
print(df.agg(["sum"]))
列に対して単一の関数を使用して DataFrame を集約する
列方向に単一の関数を使用して DataFrame を集約するには、axis パラメータを 'columns' に設定します。これにより、関数が各行ではなく各列に適用されます。以下は例です。
print("Printing the minimum value in DataFrame")
print(df.agg(["min"], axis='columns'))
行と列に対して関数のリストを使用して DataFrame を集約する
関数のリストを使用して DataFrame を集約することもできます。これにより、行または列に対して複数の操作を実行できます。以下は例です。
print("Printing sum and min of the DataFrame with default axis")
print(df.agg(["sum", "min"]))
列に対して異なる関数を使用して DataFrame を集約する
より柔軟性を持たせるために、列名と対応する関数の辞書を agg() メソッドに渡すことができます。これにより、異なる列に対して異なる関数を適用できます。以下は例です。
print("Printing different aggregation functions over the columns")
print(df.agg({'A': ["sum"], 'B': ["min", "max"], 'C': ["count"]}))
まとめ
この実験では、pandas の agg() メソッドを使用して DataFrame 内のデータを集約する方法を学びました。DataFrame の行と列に対して単一または複数の関数を適用する方法を知るようになりました。この方法は、データに対して様々な集約操作を行う際に便利です。さまざまな関数と軸を試して、DataFrame を分析および要約してください。楽しい分析を!