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を使って要約統計量を取得することで、データ分析の効率化や品質向上につながります。