はじめに

Pandas による記述統計の実験へようこそ。記述統計はデータ分析の基本であり、サンプルと測定値に関する簡単な要約を提供します。Python の強力なデータ操作ライブラリである Pandas を使用すると、これらの統計量の計算は簡単かつ効率的です。

この実験では、以下の方法を学びます。

  • データセットの平均値を計算する。
  • 中央値(中間値)を見つける。
  • 最小値と最大値を決定する。
  • 単一のコマンドで統計量の完全な要約を生成する。
  • カテゴリ列のユニークな値をカウントする。

WebIDE で Python コードを記述・実行し、サンプル DataFrame に対してこれらの操作を実行します。始めましょう!

mean メソッドを使用した平均値の計算

このステップでは、Pandas DataFrame の数値列の平均値(average)を計算する方法を学びます。平均値は、値の合計を値の数で割ったもので、中心傾向の最も一般的な尺度の一つです。

Pandas は .mean() メソッドを提供しており、これを Series(DataFrame の列)で呼び出すことで平均値を計算できます。

まず、WebIDE の左側にあるファイルエクスプローラーから main.py ファイルを開きます。サンプル DataFrame を作成する初期コードが表示されます。

main.py ファイルの末尾に以下のコードを追加して、score 列の平均値を計算し、表示してください。

## Calculate the mean of the 'score' column
score_mean = df['score'].mean()
print(f"Mean Score: {score_mean}")

次に、スクリプトを実行しましょう。WebIDE でターミナルを開き(Terminal -> New Terminal)、以下のコマンドを実行します。

python3 main.py

元の DataFrame、区切り線、そして計算された平均スコアが表示されるはずです。

Original DataFrame:
      name  age  score grade
0    Alice   24     85     B
1      Bob   27     90     A
2  Charlie   22     78     C
3    David   32     95     A
4      Eve   29     88     B

==============================

Mean Score: 87.2

median メソッドを使用した中央値の計算

このステップでは、数値列の中央値を計算します。中央値とは、昇順に並べ替えられたデータセットの中央にある値のことです。データに外れ値が含まれる場合、平均値よりも中心傾向の尺度として適していることがよくあります。

Pandas では、.median() メソッドを使用することでこれを簡単に行えます。

main.py ファイルの編集を続行します。score 列の中央値を計算して表示するために、スクリプトの末尾に以下の行を追加してください。

## Calculate the median of the 'score' column
score_median = df['score'].median()
print(f"Median Score: {score_median}")

ファイルを保存し、ターミナルから再度スクリプトを実行します。

python3 main.py

出力には、平均値と中央値の両方が含まれるようになります。

Original DataFrame:
      name  age  score grade
0    Alice   24     85     B
1      Bob   27     90     A
2  Charlie   22     78     C
3    David   32     95     A
4      Eve   29     88     B

==============================

Mean Score: 87.2
Median Score: 88.0

最小値と最大値の検索

このステップでは、列内の最小値と最大値を見つけます。これらの統計情報は、データの範囲と分布を理解するのに役立ちます。Pandas はこの目的のために .min() および .max() メソッドを提供しています。

データセット内の最も低いスコアと最も高いスコアを見つけましょう。main.py スクリプトの末尾に以下のコードを追加してください。

## Find the minimum and maximum scores
score_min = df['score'].min()
score_max = df['score'].max()
print(f"Minimum Score: {score_min}")
print(f"Maximum Score: {score_max}")

ファイルを保存し、ターミナルから実行します。

python3 main.py

出力には、平均値、中央値、最小値、および最大値が表示されるようになります。

Original DataFrame:
      name  age  score grade
0    Alice   24     85     B
1      Bob   27     90     A
2  Charlie   22     78     C
3    David   32     95     A
4      Eve   29     88     B

==============================

Mean Score: 87.2
Median Score: 88.0
Minimum Score: 78
Maximum Score: 95

describe を使用した要約統計量の生成

このステップでは、強力な .describe() メソッドを使用します。この単一のメソッドは、DataFrame 内のすべての数値列に対して、カウント、平均、標準偏差、最小値、最大値、四分位数値を含む、包括的な記述統計量の要約を生成します。

これは、データの概要を素早く把握するための大きな時間節約になります。main.py の末尾に以下のコードを追加してください。

## Generate a summary of descriptive statistics
summary_stats = df.describe()
print("Descriptive Statistics Summary:")
print(summary_stats)

ファイルを保存し、スクリプトを実行します。

python3 main.py

age 列と score 列の要約統計量を含む、整形されたテーブルが表示されます。

... (previous output) ...

Descriptive Statistics Summary:
             age      score
count   5.000000   5.000000
mean   26.800000  87.200000
std     4.024922   6.379655
min    22.000000  78.000000
25%    24.000000  85.000000
50%    27.000000  88.000000
75%    29.000000  90.000000
max    32.000000  95.000000

value_counts によるユニークな値のカウント

このステップでは、列内のユニークな値の出現回数をカウントする方法を学びます。これは特にカテゴリカルデータに役立ちます。.value_counts() メソッドは、ユニークな値のカウントを含む Series を返します。

各成績を受け取った生徒の数を数えてみましょう。main.py の末尾に以下のコードを追加してください。

## Count the occurrences of each grade
grade_counts = df['grade'].value_counts()
print("Grade Counts:")
print(grade_counts)

ファイルを保存し、スクリプトを最後に実行します。

python3 main.py

最終的な出力には、各ユニークな成績のカウントが含まれます。

... (previous output) ...

Grade Counts:
grade
B    2
A    2
C    1
Name: count, dtype: int64

これにより、成績 'A' と 'B' はそれぞれ 2 回出現し、成績 'C' は 1 回出現することがわかります。

まとめ

実験の完了、おめでとうございます!Pandas ライブラリを使用した基本的な記述統計分析を実行する方法を習得しました。

この実験では、いくつかの主要な Pandas メソッドを使用しました。

  • .mean():平均値を計算します。
  • .median():中央値を求めます。
  • .min() および .max():データの範囲を決定します。
  • .describe():迅速かつ包括的な統計的要約を取得します。
  • .value_counts():カテゴリ列のユニークな値の数をカウントします。

これらの関数は、あらゆるデータアナリストやサイエンティストにとって不可欠なツールであり、探索的データ分析(EDA)の基礎となります。データ分析の旅でより熟練するために、これらのスキルを引き続き練習してください。