Pandasで要約統計量を簡単に取得する方法

Pandasで要約統計量を簡単に取得する方法

データ分析において、データの要約統計量は非常に重要な役割を担います。データを一覧表示するだけではなく、平均値、中央値、最大値、最小値、標準偏差などを取得することで、データの傾向やばらつきを把握し、データの特徴を理解することができます。PandasはPythonでデータ分析を行う際に欠かせないライブラリであり、要約統計量を簡単に取得することができます。

要約統計量の重要性と用途

データの要約統計量を取得することで、データの特徴を把握することができます。例えば、平均値が高い場合はデータ全体が高い傾向にあります。また、標準偏差が大きい場合はデータがばらついていることを示しています。これらの要約統計量を把握することで、データの傾向やばらつきを把握し、データを理解することができます。また、データの前処理やモデルの構築においても、要約統計量は非常に重要な役割を担います。

Pandasを使った要約統計量の簡単な取得方法の紹介

Pandasを使うことで、要約統計量を簡単に取得することができます。以下では、Pandasで要約統計量を取得する方法を紹介します。

こんな人におすすめ

  • データ分析を行う人
  • Pythonを使ってデータ分析を行う人
  • Pandasを使ったデータ分析を行う人

使用する主なライブラリ

  • Pandas

Pandasで要約統計量を取得する方法

describe()メソッドの使い方

Pandasでは、データフレームに対してdescribe()メソッドを呼び出すことで、要約統計量を一度に取得することができます。以下は、サンプルデータを用いたdescribe()メソッドの例です。

import pandas as pd

# サンプルデータの作成
data = {'A': [1, 2, 3, 4, 5],
        'B': [2.0, 4.0, 6.0, 8.0, 10.0],
        'C': ['apple', 'banana', 'apple', 'banana', 'apple']}

df = pd.DataFrame(data)

# describe()メソッドの呼び出し
print(df.describe())

上記のコードを実行すると、以下のような要約統計量が表示されます。

             A         B
count  5.000000   5.00000
mean   3.000000   6.00000
std    1.581139   3.16228
min    1.000000   2.00000
25%    2.000000   4.00000
50%    3.000000   6.00000
75%    4.000000   8.00000
max    5.000000  10.00000

describe()メソッドによって、数値型の列に対しては、count(件数)、mean(平均値)、std(標準偏差)、min(最小値)、25%、50%、75%、max(最大値)が表示されます。カテゴリカルデータに対しては、count(件数)、unique(ユニークな値の数)、top(最頻値)、freq(最頻値の出現回数)が表示されます。

各種要約統計量を個別に取得する方法(平均、中央値、標準偏差など)

Pandasでは、describe()メソッド以外にも、平均値、中央値、標準偏差などの各種要約統計量を個別に取得することができます。以下は、サンプルデータを用いた個別の要約統計量を取得する方法の例です。

import pandas as pd

# サンプルデータの作成
data = {'A': [1, 2, 3, 4, 5],
        'B': [2.0, 4.0, 6.0, 8.0, 10.0],
        'C': ['apple', 'banana', 'apple', 'banana', 'apple']}

df = pd.DataFrame(data)

# 平均値の取得
print(df.mean())

# 中央値の取得
print(df.median())

# 標準偏差の取得
print(df.std())

上記のコードを実行すると、以下のような値が表示されます。

A    3.000000
B    6.000000
dtype: float64

A    3.0
B    6.0
dtype: float64

A    1.581139
B    3.162278
dtype: float64

mean()メソッドによって平均値、median()メソッドによって中央値、std()メソッドによって標準偏差を取得することができます。

カテゴリカルデータの要約統計量の取得

カテゴリカルデータに対しては、count(件数)、unique(ユニークな値の数)、top(最頻値)、freq(最頻値の出現回数)が表示されます。以下は、サンプルデータを用いたカテゴリカルデータの要約統計量の取得方法の例です。

import pandas as pd

# サンプルデータの作成
data = {'A': [1, 2, 3, 4, 5],
        'B': [2.0, 4.0, 6.0, 8.0, 10.0],
        'C': ['apple', 'banana', 'apple', 'banana', 'apple']}

df = pd.DataFrame(data)

# カテゴリカルデータの要約統計量の取得
print(df['C'].describe())

上記のコードを実行すると、以下のような値が表示されます。

count        5
unique       2
top       apple
freq         3
Name: C, dtype: object

describe()メソッドによって、カテゴリカルデータに対してはcount(件数)、unique(ユニークな値の数)、top(最頻値)、freq(最頻値の出現回数)が表示されます。

欠損値を含むデータの要約統計量の取得

欠損値を含むデータに対しても、要約統計量を取得することができます。欠損値が含まれる場合、countの値が欠損値を含まないデータの件数となります。以下は、サンプルデータに欠損値を含む場合の要約統計量の取得方法の例です。

import pandas as pd
import numpy as np

# サンプルデータの作成
data = {'A': [1, 2, np.nan, np.nan, 5],
'B': [2.0, np.nan, 6.0, 8.0, 10.0],
'C': ['apple', 'banana', 'apple', 'banana', 'apple']}

df = pd.DataFrame(data)

# 欠損値を含むデータの要約統計量の取得
print(df.describe())

上記のコードを実行すると、以下のような要約統計量が表示されます。

              A          B
count  3.000000   4.00000
mean   2.666667   6.50000
std    2.081666   3.41565
min    1.000000   2.00000
25%    1.500000   5.00000
50%    2.000000   7.00000
75%    3.500000   8.50000
max    5.000000  10.00000

上記の例では、欠損値が含まれる列については、countの値が4となっています。これは欠損値を含まないデータの件数となっています。

Pandasの活用例

Pandasを用いることで、CSVファイルの読み込みや、データフレームの作成が容易に行えます。以下は、CSVファイルの読み込みと要約統計量の取得方法の例です。

import pandas as pd

# CSVファイルの読み込み
df = pd.read_csv('sample.csv')

# 要約統計量の取得と表示
print(df.describe())

上記のコードを実行することで、CSVファイルからデータを読み込み、要約統計量を取得して表示することができます。

また、グループごとの要約統計量を取得することもできます。以下は、サンプルデータを用いたグループごとの要約統計量の取得方法の例です。

import pandas as pd

# サンプルデータの作成
data = {'A': [1, 2, 3, 4, 5],
        'B': [2.0, 4.0, 6.0, 8.0, 10.0],
        'C': ['apple', 'banana', 'apple', 'banana', 'apple']}

df = pd.DataFrame(data)

# グループごとの要約統計量の取得
print(df.groupby('C').describe())

上記のコードを実行すると、以下のような要約統計量が表示されます。

           A                                ...         B                          
       count mean       std  min  25%  50%  ...       std  min  25%  50%  75%   max
C                                           ...                                    
apple    3.0  3.0  2.000000  1.0  2.0  3.0  ...  4.000000  2.0  4.0  6.0  8.0  10.0
banana   2.0  3.0  1.414214  2.0  2.5  3.0  ...  2.828427  4.0  5.0  6.0  7.0   8.0

[2 rows x 16 columns]

上記の例では、C列をキーにグループ化した上で、各グループに対して要約統計量を取得しています。このように、Pandasを用いることで、グループごとに要約統計量を取得することができます。

また、時系列データに対しても要約統計量を取得することができます。以下は、サンプルデータを用いた時系列データの要約統計量の取得方法の例です。

import pandas as pd
import numpy as np

# サンプルデータの作成
date_range = pd.date_range('20210101', periods=5)
data = {'A': [1, 2, 3, 4, 5],
        'B': [2.0, 4.0, 6.0, 8.0, 10.0]}

df = pd.DataFrame(data, index=date_range)

# 時系列データの要約統計量の取得
print(df.resample('M').mean())

上記のコードを実行すると、以下のような要約統計量が表示されます。

              A    B
2021-01-31  3.0  6.0

上記の例では、resample()メソッドによって、月単位の平均値を取得しています。このように、時系列データに対しても要約統計量を取得することができます。

まとめ

Pandasを用いることで、要約統計量を簡単に取得することができます。describe()メソッドによって、一度に複数の要約統計量を取得することができます。また、個別に平均値、中央値、標準偏差などの各種要約統計量を取得することもできます。さらに、カテゴリカルデータや欠損値を含むデータに対しても要約統計量を取得することができます。Pandasを活用することで、CSVファイルの読み込みや、グループごとの要約統計量の取得、時系列データの要約統計量の取得など、様々なデータ処理が容易に行えます。

要約統計量は、データの特性を簡単に把握することができるため、データ分析において重要な役割を担います。Pandasを使って要約統計量を取得することで、データ分析の効率化や品質向上につながります。