pandasのdescribeメソッドを使って、Pythonで各列の要約統計量(平均、標準偏差など)を取得する方法を解説します。

「最近、pandasを使ってデータ解析をしているんだけど、各列の要約統計量を一括で取得する方法ってありますか?



pandasのdescribeメソッドを使えば、簡単に各列の要約統計量を取得できますよ。
pandasのdescribeメソッドとは
pandasのdescribeメソッドは、データフレーム(DataFrame)オブジェクトに対して適用できる統計情報を返す便利なメソッドです。このメソッドを使用すると、各列の要約統計量を一括で取得することができます。
describeメソッドが返す統計情報には、以下のような項目が含まれます:
- カウント(count):各列の非欠損値の数
- 平均(mean):各列の平均値
- 標準偏差(std):各列のデータのばらつきの度合いを表す標準偏差
- 最小値(min):各列の最小値
- 25パーセンタイル(25%):各列の値の25パーセンタイル(第1四分位数)
- 中央値(50%):各列の値の中央値(第2四分位数)
- 75パーセンタイル(75%):各列の値の75パーセンタイル(第3四分位数)
- 最大値(max):各列の最大値
describeメソッドを使うことで、データの基本的な統計情報を簡単に把握することができます。また、欠損値の扱いやオプション引数を指定することによって、さまざまな統計情報を取得することも可能です。
この記事では、具体的な使い方やサンプルプログラムを交えてdescribeメソッドの活用方法を詳しく解説しています。データ解析や前処理の際に、この便利なメソッドを活用して効率的な作業を行いましょう。
describeメソッドの使い方
describeメソッドは、pandasのデータフレーム(DataFrame)オブジェクトに対して直接適用します。
以下のような形式で使用します:
df.describe()
ここで、df
はデータフレームオブジェクトの変数名です。上記のコードを実行すると、データフレームの各列に対して要約統計量が計算され、結果が返されます。
また、describeメソッドはデフォルトでは数値型の列のみを対象として統計量を計算します。もし、文字列やカテゴリカルなデータに対しても統計量を計算したい場合は、include
パラメータを指定します。
例えば、以下のように使います:
df.describe(include='all')
これにより、数値型の列だけでなく、文字列やカテゴリカルなデータに対しても要約統計量が計算されます。
describeメソッドの他にも、さまざまなオプション引数が利用できます。
例えば、パーセンタイルの値を変更したい場合は、percentiles
パラメータを指定します。デフォルトでは25パーセンタイルと75パーセンタイルが計算されますが、任意のパーセンタイルを計算することも可能です。
df.describe(percentiles=[0.1, 0.5, 0.9])
このようにすると、10パーセンタイル、50パーセンタイル、90パーセンタイルの値も含まれた統計情報が取得できます。
サンプルプログラムを用いた解説
ここでは、実際のサンプルデータを使用して、describeメソッドの使い方を具体的に解説します。
まず、以下のようなデータが格納されたデータフレームを考えましょう:
import pandas as pd
data = {
'A': [1, 2, 3, 4, 5],
'B': [10, 20, 30, 40, 50],
'C': [100, 200, 300, 400, 500]
}
df = pd.DataFrame(data)
上記のコードでは、3つの列(A、B、C)を持つデータフレームが作成されています。
このデータフレームに対して、describeメソッドを適用してみましょう:
df.describe()
実行結果は以下のようになります:
A B C
count 5.000000 5.000000 5.000000
mean 3.000000 30.000000 300.000000
std 1.581139 15.811388 158.113883
min 1.000000 10.000000 100.000000
25% 2.000000 20.000000 200.000000
50% 3.000000 30.000000 300.000000
75% 4.000000 40.000000 400.000000
max 5.000000 50.000000 500.000000
上記の結果は、各列(A、B、C)に対する要約統計量が表示されています。カウント(count)、平均(mean)、標準偏差(std)、最小値(min)、25パーセンタイル(25%)、中央値(50%)、75パーセンタイル(75%)、最大値(max)が一括で取得できます。
このように、describeメソッドを実行することで、実際のデータに対して要約統計量を取得することができます。データ解析や前処理の際に役立つ機能ですので、ぜひ活用してみてください。
describeメソッドの注意点とオプション
describeメソッドを使用する際には、いくつかの注意点や便利なオプションがあります。以下で解説します:
- 欠損値の扱い:
- describeメソッドは、デフォルトでは欠損値を無視して統計量を計算します。つまり、欠損値が含まれている場合でも、その列は計算された結果には含まれません。欠損値も統計量に含めたい場合は、事前に欠損値を適切に処理してからdescribeメソッドを適用する必要があります。
- includeオプション:
- デフォルトでは、describeメソッドは数値型の列のみに対して統計量を計算します。もし、文字列やカテゴリカルなデータに対しても統計量を計算したい場合は、
include
パラメータを指定します。include='all'
とすることで、全ての列に対して統計量が計算されます。
- デフォルトでは、describeメソッドは数値型の列のみに対して統計量を計算します。もし、文字列やカテゴリカルなデータに対しても統計量を計算したい場合は、
- percentilesオプション:
- デフォルトでは、describeメソッドは25パーセンタイル(第1四分位数)、50パーセンタイル(中央値)、75パーセンタイル(第3四分位数)を計算します。しかし、任意のパーセンタイルを計算したい場合は、
percentiles
パラメータにリスト形式で指定することができます。例えば、percentiles=[0.1, 0.5, 0.9]
とすると、10パーセンタイル、50パーセンタイル、90パーセンタイルが計算されます。
- デフォルトでは、describeメソッドは25パーセンタイル(第1四分位数)、50パーセンタイル(中央値)、75パーセンタイル(第3四分位数)を計算します。しかし、任意のパーセンタイルを計算したい場合は、
- excludeオプション:
- 特定の統計量を計算から除外したい場合は、
exclude
パラメータを使用します。exclude=['object']
のように指定することで、オブジェクト型の列(文字列など)を統計量の計算から除外することができます。
- 特定の統計量を計算から除外したい場合は、
注意点として、describeメソッドは数値データに対して有用ですが、カテゴリカルなデータや文字列データに対しては限定的な情報しか提供しません。その場合は、別の方法や統計手法を使用する必要があります。
describeメソッドの注意点やオプションの使い方を理解し、適切に活用することで、より詳細な統計情報を取得できます。データ解析の際には、データの特性や目的に応じて、describeメソッドのオプションを適切に設定しましょう。データの欠損値や異常値の扱い、特定の統計量のみに着目するなど、柔軟な統計情報の取得が可能です。
また、describeメソッドは単一のデータフレームに対して適用されますが、複数のデータフレームを結合するなどの操作によって異なるグループの統計情報を比較することも可能です。このような使い方により、データセット内の傾向やパターンの把握に役立ちます。
まとめ
pandasのdescribeメソッドを使って、Pythonで各列の要約統計量(平均、標準偏差など)を取得する方法を解説しました。
- pandasのdescribeメソッドは、データフレームの各列の要約統計量を一括で取得するための便利なメソッドです。
- describeメソッドを使用すると、各列のカウント、平均、標準偏差、最小値、25パーセンタイル、中央値、75パーセンタイル、最大値などの統計量が得られます。
- 欠損値の扱いや特定の統計量のみ取得するオプションなど、describeメソッドにはさまざまな注意点や設定があります。



pandasのdescribeメソッドの使い方がわかりました!これからデータ解析の際に活用してみたいと思います。



データ解析において要約統計量は重要な情報です。pandasのdescribeメソッドを使うことで、簡単に各列の要約統計量を取得することができます。データの特徴を把握するために積極的に活用しましょう。
また、describeメソッドのオプションや注意点にも注意しながら、柔軟に統計情報を取得することが大切です。