はじめに
この実験では、Pandas DataFrame の mode() メソッドの使い方を案内します。mode() メソッドは、DataFrame 内で最も頻繁に出現する値を見つけるために使用されます。
VM のヒント
VM の起動が完了したら、左上隅をクリックして ノートブック タブに切り替え、Jupyter Notebook を使って練習しましょう。
時々、Jupyter Notebook が読み込み完了するまで数秒待つ必要がある場合があります。Jupyter Notebook の制限により、操作の検証を自動化することはできません。
学習中に問題に遭遇した場合は、Labby にお問い合わせください。セッション後にフィードバックを提供してください。そうすれば、迅速に問題を解決します。
必要なライブラリをインポートする
まず、import 文を使って Pandas ライブラリをインポートします。
import pandas as pd
DataFrame を作成する
次に、DataFrame() コンストラクタを使って DataFrame を作成します。この例では、3 つの列 "A"、"B"、"C" を持つ DataFrame を作成しましょう。
df = pd.DataFrame({"A": [1, 2, 1], "B": [2, 2, 1], "C": [5, 2, 5]})
最頻値を求める
DataFrame の各列の最頻値を求めるには、mode() メソッドを使用します。
df_mode = df.mode()
print(df_mode)
mode() メソッドは、各列の最頻値を含む DataFrame を返します。
軸を指定する
既定では、mode() メソッドは列軸 (axis=0) に沿って最頻値を求めます。行軸に沿って最頻値を求めたい場合は、axis=1 を指定します。
たとえば、行軸に沿って最頻値を求めるには、次のコードを使用します。
df_mode = df.mode(axis=1)
print(df_mode)
数値列のみを含める
最頻値の計算対象に数値列のみを含めたい場合は、numeric_only パラメータを使用できます。既定では、numeric_only は False に設定されています。数値列のみ対象にするには、これを True に設定します。
たとえば、最頻値の計算対象に数値列のみを含めるには、次のコードを使用します。
df_mode = df.mode(numeric_only=True)
print(df_mode)
欠損値を含める
既定では、mode() メソッドは欠損値を考慮しません。欠損値を最頻値の計算に含めたい場合は、dropna パラメータを使用できます。既定では、dropna は True に設定されています。欠損値を含めるには、これを False に設定します。
たとえば、欠損値を最頻値の計算に含めるには、次のコードを使用します。
df_mode = df.mode(dropna=False)
print(df_mode)
まとめ
この実験では、Pandas DataFrame の mode() メソッドを使用して最頻値を求める方法を学びました。また、軸の指定方法、数値列のみ対象にする方法、欠損値を含める方法についても学びました。これらの知識を使って、自分自身のデータ分析プロジェクトで最頻値を求めることができるようになりました。