Menjana Nombor Rawak Berdasarkan Taburan Berangka Diberi
Penjanaan nombor rawak ialah tugas biasa dalam pengaturcaraan dan selalunya diperlukan untuk menjana nilai mengikut taburan tertentu. Ini boleh menjadi satu cabaran, terutamanya apabila pengedaran tidak standard atau tidak mengikut fungsi matematik yang diketahui.
Pertimbangkan senario di mana anda memiliki fail yang mengandungi kebarangkalian yang sepadan dengan nilai yang berbeza:
1 0.1 2 0.05 3 0.05 4 0.2 5 0.4 6 0.2
Objektifnya adalah untuk menjana nombor rawak sejajar dengan taburan ini. Walaupun ia boleh dilakukan untuk mencipta penyelesaian tersuai anda sendiri, memanfaatkan perpustakaan atau modul sedia ada boleh memudahkan tugas dengan ketara.
Pilihan Serbaguna SciPy
Pengedaran scipy.stats.rv_discrete SciPy menyediakan penyelesaian yang elegan untuk masalah ini. Dengan menentukan kebarangkalian melalui parameter nilai, anda boleh membuat pengedaran tersuai yang disesuaikan dengan keperluan khusus anda. Kaedah rvs() bagi objek pengedaran membolehkan anda menjana nombor rawak yang mematuhi pengedaran itu.
Kemudahan Numpy
Fungsi numpy.random.choice() Numpy juga menawarkan pilihan yang mudah untuk menjana nilai rawak daripada pengedaran. Parameter kata kunci p membolehkan anda lulus dalam senarai kebarangkalian, membolehkan anda menentukan pengedaran tersuai. Contohnya:
numpy.random.choice(numpy.arange(1, 7), p=[0.1, 0.05, 0.05, 0.2, 0.4, 0.2])
Python 3.6 dan Beyond
Python 3.6 memperkenalkan fungsi random.choices() , yang menyediakan kaedah mudah untuk menjana nilai rawak berdasarkan suatu pengedaran. Ia menerima jujukan nilai yang mungkin bersama-sama dengan kebarangkalian yang sepadan sebagai argumen.
Dengan menggunakan perpustakaan dan fungsi yang berkuasa ini, anda boleh dengan mudah menjana nombor rawak yang mematuhi taburan berangka yang ditentukan, membuka jalan untuk simulasi dan analisis data yang tepat yang sejajar dengan senario dunia sebenar.
Atas ialah kandungan terperinci Bagaimana untuk Menjana Nombor Rawak Selaras dengan Taburan Berangka Tersuai dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!