開発環境
- macOS Mojave - Apple
- Emacs (Text Editor)
- Python 3.7 (プログラミング言語)
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 コメント:
コメントを投稿