Pandasの.describe()メソッドとは

Pandasの.describe()メソッドは、データフレームやシリーズオブジェクトの統計的な要約を提供します。このメソッドは、データ分析の初期段階でデータの概要を把握するために非常に便利です。

具体的には、.describe()メソッドは以下の統計量を計算します:

  • count:非欠損値の数
  • mean:平均値
  • std:標準偏差
  • min:最小値
  • 25%:第一四分位数(25パーセンタイル)
  • 50%:中央値(50パーセンタイル)
  • 75%:第三四分位数(75パーセンタイル)
  • max:最大値

これらの統計量は、データの分布、中心傾向、散布度を理解するのに役立ちます。

以下に、Pandasの.describe()メソッドの基本的な使用方法を示します:

import pandas as pd

# データフレームを作成
df = pd.DataFrame({
    'A': [1, 2, 3, 4, 5],
    'B': [2, 3, 4, 5, 6],
    'C': [3, 4, 5, 6, 7]
})

# .describe()メソッドを使用
df.describe()

このコードを実行すると、各列(’A’, ‘B’, ‘C’)の統計的な要約が得られます。。

デフォルトの出力形式

Pandasの.describe()メソッドを呼び出すと、デフォルトでは以下の8つの統計量が計算され、データフレーム形式で出力されます:

  • count:非欠損値の数
  • mean:平均値
  • std:標準偏差
  • min:最小値
  • 25%:第一四分位数(25パーセンタイル)
  • 50%:中央値(50パーセンタイル)
  • 75%:第三四分位数(75パーセンタイル)
  • max:最大値

これらの統計量は、データの分布、中心傾向、散布度を理解するのに役立ちます。

以下に、デフォルトの出力形式の例を示します:

import pandas as pd

# データフレームを作成
df = pd.DataFrame({
    'A': [1, 2, 3, 4, 5],
    'B': [2, 3, 4, 5, 6],
    'C': [3, 4, 5, 6, 7]
})

# .describe()メソッドを使用
df.describe()

このコードを実行すると、以下のような出力が得られます:

   count  mean       std  min   25%  50%   75%  max
A    5.0   3.0  1.581139  1.0  2.00  3.0  4.00  5.0
B    5.0   4.0  1.581139  2.0  3.00  4.0  5.00  6.0
C    5.0   5.0  1.581139  3.0  4.00  5.0  6.00  7.0

この表は、各列(’A’, ‘B’, ‘C’)の統計的な要約を示しています。各列の統計量は、行として表示されます。これがPandasの.describe()メソッドのデフォルトの出力形式です。.

出力形式のカスタマイズ方法

Pandasの.describe()メソッドの出力形式は、パラメータを指定することでカスタマイズすることができます。以下に、主なカスタマイズ方法をいくつか紹介します。

統計量の選択

デフォルトでは、.describe()メソッドは8つの統計量(count, mean, std, min, 25%, 50%, 75%, max)を計算しますが、percentilesパラメータを使用することで、計算するパーセンタイルを指定することができます。

df.describe(percentiles=[.05, .25, .75, .95])

このコードは、5パーセンタイル、25パーセンタイル、75パーセンタイル、95パーセンタイルを計算します。

数値データと非数値データ

デフォルトでは、.describe()メソッドは数値データの列のみを考慮します。しかし、includeパラメータを使用することで、非数値データの列(例えば、文字列や日付)を含めることができます。

df.describe(include='all')

このコードは、数値データと非数値データの両方の列を考慮します。

出力の並び順

デフォルトでは、.describe()メソッドの出力は特定の順序(count, mean, std, min, 25%, 50%, 75%, max)で表示されます。しかし、出力の順序は、結果のデータフレームを並び替えることで変更することができます。

df.describe().loc[['min', '25%', '50%', '75%', 'max', 'count', 'mean', 'std'], :]

このコードは、出力の順序をmin, 25%, 50%, 75%, max, count, mean, stdに変更します。

これらのカスタマイズ方法を組み合わせることで、.describe()メソッドの出力形式を自分のニーズに合わせて調整することができます。.

実用的な例:.describe()メソッドの出力をカスタマイズする

ここでは、Pandasの.describe()メソッドの出力をカスタマイズする具体的な例を示します。以下のデータフレームを考えてみましょう:

import pandas as pd
import numpy as np

# データフレームを作成
np.random.seed(0)
df = pd.DataFrame({
    'A': np.random.randn(100),
    'B': np.random.randint(0, 10, 100),
    'C': np.random.choice(['cat', 'dog', 'rabbit'], 100)
})

このデータフレームは、’A’列(正規分布からのランダムな数値)、’B’列(0から9までのランダムな整数)、’C’列(’cat’, ‘dog’, ‘rabbit’のいずれかのランダムな文字列)を含んでいます。

統計量の選択

まず、5パーセンタイルと95パーセンタイルを計算してみましょう:

df.describe(percentiles=[.05, .25, .75, .95])

数値データと非数値データ

次に、数値データと非数値データの両方の列を考慮してみましょう:

df.describe(include='all')

出力の並び順

最後に、出力の順序を変更してみましょう:

df.describe().loc[['min', '25%', '50%', '75%', 'max', 'count', 'mean', 'std'], :]

これらの例からわかるように、Pandasの.describe()メソッドは非常に柔軟で、出力形式を自分のニーズに合わせてカスタマイズすることが可能です。これにより、データ分析の初期段階でデータの概要をより詳しく、より効率的に把握することができます。.

まとめ

この記事では、Pandasの.describe()メソッドとその出力形式について詳しく解説しました。.describe()メソッドは、データフレームやシリーズオブジェクトの統計的な要約を提供する強力なツールであり、データ分析の初期段階でデータの概要を把握するために非常に便利です。

また、.describe()メソッドの出力形式は、パラメータを指定することでカスタマイズすることができます。これにより、自分のニーズに合わせて統計量を選択したり、数値データと非数値データの両方を考慮したり、出力の順序を変更したりすることが可能です。

最後に、実用的な例を通じて、.describe()メソッドの出力をカスタマイズする具体的な方法を示しました。これにより、データ分析の初期段階でデータの概要をより詳しく、より効率的に把握することができます。

Pandasの.describe()メソッドは、その柔軟性と強力さから、データ分析における重要なツールとなっています。この記事が、.describe()メソッドの理解と活用に役立つことを願っています。.

投稿者 kitagawa

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です