
5.1
データの特徴を表す
■
73
def quantile(xs: List[float], p: float) -> float:
"""x
中の
p
百分位数を返す
""
p_index = int(p * len(xs))
return sorted(xs)[p_index]
assert quantile(num_friends, 0.10) == 1
assert quantile(num_friends, 0.25) == 3
assert quantile(num_friends, 0.75) == 9
assert quantile(num_friends, 0.90) == 13
あまり一般的ではありませんが、モードを必要とする場合もあるでしょう。これは最
頻値とも呼ばれます。
def mode(x: List[float]) -> List[float]:
"""
モードは
1
つとは限らないので、リストを返す
"""
counts = Counter(x)
max_count = max(counts.values())
return [x_i for x_i, count in counts.items()
if count == max_count]
assert set(mode(num_friends)) == {1, 6}
たいていの場合は、平均値を使います。
5.1.2
散らばり
散らばり(
dispersion
)とは、データの値にどの程度の広がりがあるのかを測るもの
です。統計では ...