Kursus Pembangunan Python Lanjutan
Bab
>
Tahap
Modul Matematik
Modul Statistik
Objektif
Turun ke pejabat dan catat data statistik untuk metrik ladang menggunakan modul statistik.
Dari tangga loteng terdapat sebuah pejabat, di mana fail disimpan yang mengandungi data penting bagi ladang. Adalah idea yang baik untuk memproses data tersebut dan mendokumentasikannya bagi meramalkan pertumbuhan ladang pada masa depan. Untuk melakukan ini, kita akan melaksanakan penggunaan Modul statistik. Modul membolehkan kita mengimport alat seperti fungsi, kelas dan sebagainya, yang membolehkan pengembangan kefungsian python. Untuk menyediakan modul, anda menulis import sebelum nama modul, betul, anda telah menggunakan modul untuk mengawal pemain sepanjang masa ini!
import statistics
Modul ini menambah beberapa fungsi untuk mengira statistik, berikut adalah beberapa yang akan kita gunakan untuk memproses data statistik di pejabat:
statistics.mean(): Mengira purata bagi satu set datastatistics.median(): Mengira nilai tengah bagi satu set datastatistics.median_low(): Mengira nilai median terendah bagi satu set datastatistics.median_high(): Mengira nilai median tertinggi bagi satu set datastatistics.mode(): Mengira kecenderungan pusat bagi satu set data, dalam erti kata lain nilai yang paling kerap muncul dalam sampel data.statistics.variance(): Mengira varians nilai dalam satu set data. Nombor yang tinggi bermakna nilai tersebar, manakala nombor yang rendah bermakna nilai dekat bersama.
Mula dengan berjalan ke tanda X bercahaya di hadapan kabinet fail, gunakan fungsi read() untuk memeriksa fail dan membaca data. Terdapat tiga (3) laporan untuk dibaca di lapangan, buat tiga (3) senarai untuk menyimpan data bagi setiap satu: weather_report, export_report dan harvest_report. Data dalam setiap laporan mengandungi enam (6) nilai yang mewakili data bagi enam (6) bulan pertama dalam tahun. Catat dan simpan enam (6) nilai dalam setiap senarai apabila anda membacanya.
Sebaik sahaja anda telah mencatat dan menyimpan data dalam senarai, berjalanlah ke tanda X gelap di atas permaidani biru. Buat lima pembolehubah yang dinamakan: mean, median, low, high dan variance. Pembolehubah-pembolehubah ini akan menyimpan nilai fungsi-fungsi statistik yang telah kita nyatakan sebelum ini. Apa yang akan kita lakukan adalah menambah senarai laporan yang ingin kita peroleh statistiknya, ini akan menghasilkan statistik bagi data yang diberikan.
mean = statistics.mean( report list ) median = statistics.median( report list ) low = statistics.median_low( report list ) high = statistics.median_high( report list ) variance = statistics.variance( report list )
Dengan data statistik ini, kita akan menggunakan fungsi write() untuk mencatat data dalam memo, editor kod akan mempunyai urutan yang telah ditulis terlebih dahulu. Di atas tanda X permaidani biru, gariskan pembolehubah bagi export_report dan catatkan. Di atas tanda X permaidani hijau, gariskan pembolehubah bagi harvest_report dan catatkan. Di atas tanda X permaidani merah, gariskan pembolehubah bagi weather_report dan catatkan. Anda mesti mengisi pembolehubah bagi setiap laporan terlebih dahulu sebelum anda mencatatnya bagi memastikan data statistik yang betul ditulis untuk setiap laporan.
Setelah semua data statistik telah dicatat, berjalanlah ke tanda X emas dan buat senarai baru yang dinamakan group_report. Pada senarai ini, anda akan menambah export_report dan harvest_report mengikut urutan tersebut. Ini akan menghasilkan senarai bersarang yang tidak boleh digunakan dengan fungsi statistik, untuk mengatasinya gunakan List comprehension untuk meratakan senarai bersarang tersebut, seperti ini: group_report= [item for sublist in group_report for item in sublist]
Sediakan dua pembolehubah lagi: variance dan mode dengan fungsi statistik masing-masing. Tambahkan senarai group_report ke fungsi statistik variance, dan tambahkan senarai weather_report ke fungsi statistik mode, seperti ini: variance = statistics.variance( group_report ), mode = statistics.mode( weather_report ). Laksanakan fungsi write() yang telah disediakan dalam editor kod untuk pembolehubah-pembolehubah ini bagi menyelesaikan tahap ini.