データ分析・初級問題チェック
問題 26 /40
pandasの基本統計量を出力するメソッドで、誤った説明はどれか。
選択 1
modeメソッドは最頻値を出力する。
選択 2
medianメソッドは中央値を出力する。
選択 3
stdメソッドは分散を出力する。
選択 4
countメソッドは件数を出力する。
解説
選択肢3が正解です。
stdメソッドは分散ではなく標準偏差を出力します。分散はvarメソッドで出力します。
選択肢1、2、4は正しい説明です。modeメソッドは最頻値、medianメソッドは中央値、countメソッドは件数を出力します。
ここでは平均値を出力するmeanメソッドを紹介します。
例えば次のデータの平均値を取得することを考えます。
df = pd.DataFrame(
np.arange(6).reshape((3, 2)),
columns=['A列', 'B列'],
index=['1行', '2行', '3行'])
▶︎
【列ごとに平均値を出力】
df.mean()
▶︎
A列 2.0
B列 3.0
dtype: float64
【特定の列の平均値を出力】
df.loc[:, 'A列'].mean()
▶︎ 2.0
【特定の行の平均値を出力】
df.loc['1行目', :].mean()
▶︎ 0.5
なお、pandasのstdメソッドはデフォルトで「標本標準偏差」を出力します。
標準偏差には母標準偏差と標本標準偏差があります。
【母標準偏差】
母集団から分散を算出して標準偏差を求めたものです。母集団とは元のデータそのものを指します。
分散を算出する式は以下となり、分散にルートを付けると標準偏差になります。
分散を求める際、分母の「データ数」を母集団のデータ数にして算出し、その分散にルートを付けた標準偏差を「母標準偏差」と呼びます。例えば100人の試験で分散と標準偏差を求める際に、分母を100とするのが「母標準偏差」です。
【標本標準偏差】
母集団から標本を抽出して、その標本から分散と標準偏差を求めたものです。
標本の分散は分母のデータ数が標本のデータ数になりますが、その場合、分散が過小評価されることがあります。分散の式の分子で各データから平均を引きますが、その平均が母集団ではなく標本から算出した平均になるので、母集団との間で大きな差が発生することがあります。そのため、分母となる標本のデータ数からマイナス1をして分散を算出します。
このマイナス1した分散から求めた標準偏差が「標本標準偏差」です。例えば100人の試験から10人を標本として抽出し、その標本から分散と標準偏差を求める際に、分母を「10-1=9」とするのが「標本標準偏差」です。
pandasのstdメソッドはデフォルトで標本標準偏差を出力します。対象のデータが標本ではなく母集団だとしても、標本標準偏差が出力されます。
pandasで母標準偏差を出力する場合は、引数「ddof=0」をつけて「std(ddof=0)」とします。ddofは「Delta Degrees of Freedom」の略で自由度を表します。自由度0は分散の分母が「母集団のデータ数」、自由度-1は分散の分母が「母集団のデータ数-1」となります。
なお、NumPyのstd関数はデフォルトで母標準偏差を出力します。母標準偏差で統一したい場合、pandasは引数を付けて「std(ddof=0)」とし、NumPyは引数なしで「std()」とします。
(公式書籍 p.172-174)

