2018年10月28日日曜日

開発環境

Pythonからはじめる数学入門 (Amit Saha (著)、黒川 利明 (翻訳)、オライリージャパン)の2章(データを統計量で記述する)、3.9(プログラミングチャレンジ)、問題3-5(グループ度数分布表を作る)を取り組んでみる。

コード(Emacs)

Python 3

#!/usr/bin/env python3
from grouped_frequency import create_classes

with open('marks.txt') as f:
    numbers = [float(line) for line in f]

print(numbers)

for n in [1, 5, 10]:
    classes = create_classes(numbers, n)
    freq = [0] * len(classes)
    for number in numbers:
        for i, (a, b) in enumerate(classes):
            if a <= number < b:
                freq[i] += 1
                break
    print('点数, 頻度')
    for (a, b), c in zip(classes, freq):
        print(f'{a:.2f}-{b:.2f}, {c}')

入出力結果(Terminal, Jupyter(IPython))

$ ./sample5.py
[11.0, 20.0, 18.0, 18.0, 16.0, 11.0, 16.0, 18.0, 17.0, 16.5, 18.5, 19.5, 16.5, 14.5, 13.5, 12.5, 10.5, 15.5, 13.5, 16.5, 20.0, 18.0, 19.5, 15.0, 18.0]
点数, 頻度
10.50-21.00, 25
点数, 頻度
10.50-12.40, 3
12.40-14.30, 3
14.30-16.20, 5
16.20-18.10, 9
18.10-20.00, 3
20.00-21.00, 2
点数, 頻度
10.50-11.45, 3
11.45-12.40, 0
12.40-13.35, 1
13.35-14.30, 2
14.30-15.25, 2
15.25-16.20, 3
16.20-17.15, 4
17.15-18.10, 5
18.10-19.05, 1
19.05-20.00, 2
20.00-21.00, 2
$

0 コメント:

コメントを投稿