概要
Pythonのpandasライブラリには、データフレームを分析するためのさまざまな便利な関数が用意されています。
その中でも、describe()関数は、データセットの基本的な統計情報を取得するための重要な関数です。
この関数を使うと、数値データの基本統計量(平均、中央値、最大値、最小値、分散、標準偏差など)が簡単に確認できます。
詳細内容
pandasライブラリのdescribe()関数を使うことで、データフレームの基本的な統計情報を一度に取得することができます。
この関数は、データフレームに含まれる数値データの基本統計量(平均、中央値、最大値、最小値、分散、標準偏差など)を表示してくれます。
describe()関数は、以下のように使います。
まず、データフレームを読み込んでから、そのデータフレームに対してdescribe()関数を実行します。
python
import pandas as pd# データフレームの読み込み
df = pd.read_csv("data.csv")# describe()関数を実行する
df.describe()
このコードを実行すると、データフレームに含まれる数値データの基本統計量が、以下のような形式で表示されます。
列1 列2 列3 列4
count 1000.000000 1000.000000 1000.000000 1000.000000
mean 50.054000 49.950000 50.019000 50.077000
std 0.316038 0.281761 0.303820 0.289837
min 49.310000 49.010000 49.210000 49.100000
25% 49.820000 49.750000 49.790000 49.840000
50% 50.045000 49.945000 50.020000 50.080000
75% 50.280000 50.140000 50.240000 50.330000
max 50.900000 50.820000 50.880000 50.760000
この表から、データフレームに含まれる数値データが、それぞれの列ごとにcount、mean、std、min、25%、50%、75%、maxという項目で示されています。
countはその列に含まれるデータの件数を表しています。
meanは平均値、stdは標準偏差、minは最小値、25%、50%、75%はそれぞれ25パーセンタイル、50パーセンタイル、75パーセンタイルに位置する値を表しています。
maxは最大値を表しています。
describe()関数の戻り値はデータフレーム型であり、この戻り値を利用して、さらにいろいろな処理を行うことができます。
たとえば、データフレームの特定の列に含まれる数値データの平均値を求めたい場合は、以下のようなコードを書くことができます。
python
import pandas as pd# データフレームの読み込み
df = pd.read_csv("data.csv")# 列1の平均値を求める
mean1 = df["列1"].describe()["mean"]
print(mean1)
このコードを実行すると、列1に含まれる数値データの平均値が表示されます。
describe()関数は、データフレームに含まれるNaN(欠損値)についても適切に扱います。
たとえば、以下のようなデータフレームがあるとします。
列1 列2
0 1 2.0
1 3 NaN
2 5 6.0
このデータフレームに対してdescribe()関数を実行すると、以下のような結果が得られます。
列1 列2
count 3.000000 2.000000
mean 3.000000 4.000000
std 2.449490 2.828427
min 1.000000 2.000000
25% 2.000000 3.000000
50% 3.000000 4.000000
75% 4.000000 5.000000
max 5.000000 6.000000
列2にはNaN(欠損値)が含まれていますが、それでもcountは2となっており、データフレームに含まれる数値データのみが統計情報として表示されています。
なお、describe()関数におけるパーセンタイル(25%、50%、75%)は、それぞれ第1四分位数、中央値、第3四分位数を表しています。
第1四分位数は、データを小さい順に並べたときに25%の位置にある値を表し、第3四分位数は75%の位置にある値を表しています。
つまり、25%以下のデータは第1四分位数以下、25%以上50%以下のデータは第1四分位数と第3四分位数の間、75%以上のデータは第3四分位数以上ということになります。
コメント