یکی دیگر از کاربردهای کتابخانه NumPy ایجاد آرایه ای از عددهای تصادفی است. خود زبان پایتون دارای ماژول درونی (Built-in) به نام random است که می توانیم از آن برای ایجاد عدد تصادفی کمک بگیریم. خود این ماژول دارای یک تابع به نام ()random است که از می توانیم برای ایجاد عدد تصادفی اعشاری کمک بگیریم، ولی توصیه می شود به هیچ عنوان برای کاربردهای امنیتی مانند ایجاد گذرواژه ها (Password) این تابع را به کار نبرید.

ولی ماژول random دارای کلاسی به نام SystemRandom است که می توانید از آن برای ایجاد گذرواژه ها برای کاربردهای امنیتی کمک بگیرید. نکته ای که وجود دارد این است که متدهای این کلاس از شبه دیوایس های (Pesudo Devices) سیستم عامل شما مانند dev/urandom/ در لینوکس و CryptGenRandom در ویندوز کمک می گیرد تا عدد تصادفی را ایجاد کند.

در کد و شکل زیر بوسیله حلقه for و تابع ()range می خواهیم ۱۰ عدد تصادفی میان بازه عدد ۱ تا ۱۰۰ را ایجاد کنیم. برای این منظور متد دیگری از ماژول random به نام ()randint را به کار برده ایم که دو مقدار عددی شروع و پایان بازه را به عنوان ورودی دریافت می کند.

عدد تصادفی صحیح با ماژول NumPy

تولید عددهای تصادفی صحیح (Random Integer Number) بسیار پر کاربرد هستند، به طور نمونه، شبیه سازی پرتاپ یک یا دو یا چند تاس و بررسی وقوع رویدادهای متفاوت، به طور نمونه با چه احتمالی ممکن است، حاصل دو عدد برابر با ۱۲ بشود.

بنابراین اگر می خواهیم فضای نمونه پرتاپ یک تاس را بررسی کنیم، پس بازه ای که باید به متد ()randint فرستاده شود، میان عدد ۱ تا ۶ است. حال فرض کنید می خواهیم پرتاپ ۱۰ مرتبه یک تاس را بررسی کنیم، پس باید حلقه for بنویسید که از ۱ تا ۱۰ تکرار شود و در هر مرتبه، متد ()randint عددی تصادفی میان ۱ تا ۶ را ایجاد کند.

ماژول NumPy نیز دارای متدی به نام randint است که مطابق کد و شکل زیر می توانیم از آن ا برای ایجاد کردن ۱۰ عدد تصادفی در بازه عدد ۱ تا عدد ۶ (پیش از عدد ۷) کمک بگیریم.

ایجاد آرایه ای از عددهای صحیح تصادفی با NumPy

شکل های زیر نمونه دیگری از متد ()randint از ماژول NumPy را نشان می دهد. اگر تنها یک عدد به متد فرستاده شود، به این معنی است که بازه از عدد ۱ تا عدد پیشین خواهد بود و اگر آرگومان size تعیین نشود، تنها یک عدد تصادفی در آن بازه ایجاد خواهد شد.

اگر به دو دستور پایانی شکل بالا نگاه کنید می توانید کاربرد آرگومان size را متوجه شوید. اگر مقدار این آرگومان عددی بزرگتر از ۱ باشد، پس یک آرایه تک بعدی از عددهای تصادفی برگشت داده می شود ولی اگر آنرا به صورت یک تاپل به تابع بفرستیم، یک آرایه چند بعدی ایجاد خواهد شد. به طور نمونه در دستور پایانی یک آرایه ۳ ستونی و ۵ سطری ایجاد شده است.

دانلود سورس این مطلب numpy random number