بایگانی برچسب برای: هوش مصنوعی

np.where در پایتون چیست؟ | آموزش کامل با مثال (2025)

یکی از توابع کاربردی در NumPy که خیلی وقت‌ها کار ما را راحت‌تر می‌کند، تابع np.where است. در این مقاله، به زبان ساده یاد می‌گیریم که np.where چیست، چه زمانی از آن استفاده می‌کنیم، و چطور در پروژه‌های واقعی تحلیل داده آن را به کار ببریم.

آموزش np.where در پایتون با مثال

تابع np.where دو کاربرد اصلی دارد:

  1. پیدا کردن ایندکس‌هایی که یک شرط برقرار است
  2. انجام شرط if-else در آرایه‌ها

مثال ۱: یافتن ایندکس‌هایی که شرط برقرار است

import numpy as np
arr = np.array([2, 4, 6, 8, 3])
index = np.where(arr > 5)
print(index)

خروجی: (array([2, 3]),)

مثال ۲: شرط if-else روی آرایه

result = np.where(arr > 5, 1, 0)
print(result)

خروجی: [0 0 1 1 0]

کاربرد np.where در تحلیل داده

  • برچسب‌گذاری مقادیر
  • فیلتر کردن آرایه‌ها
  • جایگزینی مقادیر نادرست
  • ایجاد ستون جدید در pandas

ترکیب با آرایه‌های دوبعدی

matrix = np.array([[1, 7], [3, 9]])
print(np.where(matrix > 5))

خروجی:

(array([0, 1]), array([1, 1]))

مثال واقعی در pandas

import pandas as pd
df = pd.DataFrame({'score': [45, 75, 60, 30]})
df['result'] = np.where(df['score'] >= 50, 'قبول', 'مردود')
print(df)

تمرین برای شما

  • همه مقادیر منفی را با صفر جایگزین کنید.
  • ماتریسی ۳×۳ بسازید و ایندکس مقادیر زوج را بیابید.
  • ستونی در pandas ایجاد کنید که اگر نمره بالای ۱۷ بود، «عالی» بنویسد.

منابع بیشتر

مستندات رسمی NumPy

← آموزش NumPy در پایتون

جمع‌بندی

تابع np.where ابزاری بسیار کاربردی در کتابخانه NumPy است که تحلیل داده، فیلتر شرطی و ساخت داده‌های دسته‌بندی‌شده را ساده می‌کند.

📬 عضو خبرنامه Upgrade4u شوید

اگر دنبال یادگیری کاربردی و پروژه‌محور در حوزه تحلیل داده و هوش مصنوعی هستید، همین حالا در خبرنامه ما عضو شوید.

آموزش NumPy در پایتون | راهنمای کامل برای مبتدی‌ها (۲۰۲۵)

اگر به دنبال یادگیری تحلیل داده با پایتون هستی، یادگیری کتابخانه NumPy اولین قدم ضروریه.
در این آموزش، آموزش NumPy در پایتون رو از پایه شروع می‌کنیم و با ساخت آرایه، عملیات ریاضی و مثال‌های واقعی پیش می‌ریم.


NumPy چیست و چه کاربردی دارد؟

NumPy مخفف Numerical Python است و یک کتابخانه‌ی متن‌باز پایتون برای انجام محاسبات عددی و علمی محسوب می‌شود.
اگر تا حالا با لیست‌های پایتونی کار کردی، احتمالاً متوجه شدی که وقتی داده‌ها بزرگ می‌شن یا نیاز به عملیات ریاضی زیاد داریم، لیست‌ها دیگه کافی نیستن. اینجا دقیقاً جاییه که NumPy وارد می‌شه.

کتابخانه NumPy برای کار با آرایه‌های چندبعدی طراحی شده و امکانات فوق‌العاده‌ای برای محاسبات برداری، ماتریسی، آماری و تصادفی فراهم می‌کنه. در واقع پایه‌ی بسیاری از کتابخانه‌های داده‌محور مثل Pandas، Scikit-learn، TensorFlow و PyTorch هست.


مزایای NumPy نسبت به لیست‌های معمولی پایتون:

  • سرعت بسیار بالاتر (به دلیل پیاده‌سازی در C)
  • پشتیبانی از آرایه‌های چندبعدی با اندازه دلخواه
  • توابع ریاضی آماده برای میانگین، انحراف معیار، ضرب ماتریسی و…
  • مصرف کمتر حافظه در پردازش داده‌های حجیم
  • سازگاری بالا با سایر ابزارهای تحلیل داده و یادگیری ماشین

نصب NumPy در پایتون

برای نصب NumPy در محیط پایتون یا ترمینال، از دستور زیر استفاده کن:

pip install numpy

اگر از Google Colab یا Jupyter Notebook استفاده می‌کنی، نیازی به نصب نیست چون NumPy از قبل نصب شده. فقط باید با دستور زیر اون رو ایمپورت کنی:

import numpy as np

ساخت اولین آرایه در NumPy

import numpy as np
arr = np.array([1, 2, 3])
print(arr)

خروجی:

[1 2 3]

آرایه‌های NumPy بر خلاف لیست‌ها، امکان انجام عملیات ریاضی به‌صورت مستقیم و بدون حلقه رو فراهم می‌کنن. مثلاً اگر دو آرایه داشته باشید، می‌تونید اون‌ها رو با یک خط کد با هم جمع کنید.


مقایسه عملکرد NumPy با لیست معمولی پایتون

import time

my_list = list(range(1000000))
my_array = np.arange(1000000)

start = time.time()
sum(my_list)
print("List:", time.time() - start)

start = time.time()
np.sum(my_array)
print("NumPy:", time.time() - start)

همون‌طور که می‌بینید، NumPy در پردازش‌های سنگین بسیار سریع‌تر از لیست‌های معمولیه.


روش‌های ساخت آرایه در NumPy

np.zeros((2, 3))     # ماتریس صفر ۲×۳
np.ones(5)           # آرایه‌ای از پنج عدد یک
np.eye(3)            # ماتریس همانی ۳×۳
np.arange(0, 10, 2)  # آرایه با گام ۲
np.linspace(0, 1, 5) # پنج عدد مساوی بین ۰ و ۱

این توابع پایه‌ای برای تولید داده‌ها در تحلیل آماری و الگوریتم‌های یادگیری ماشین بسیار پرکاربردن.


عملیات ریاضی ساده روی آرایه‌ها

a = np.array([1, 2, 3])
b = np.array([4, 5, 6])

print(a + b)      # جمع
print(a * b)      # ضرب
print(a ** 2)     # توان

در لیست‌های پایتونی برای این کارها باید حلقه بنویسیم، ولی در NumPy همه چیز خلاصه و سریع انجام می‌شه.


اندیس‌دهی، برش و تغییر شکل (Reshape)

a = np.array([[1, 2], [3, 4]])

print(a[0, 1])        # عنصر ردیف اول، ستون دوم
print(a[:, 1])        # ستون دوم کامل
print(a.reshape(4))   # تبدیل به آرایه ۱ بعدی

تغییر شکل آرایه در NumPy بسیار کاربردی است و می‌تونه برای آماده‌سازی داده در یادگیری ماشین مفید باشه.


توابع آماری در NumPy

data = np.array([1, 2, 3, 4, 5])

print(np.mean(data))     # میانگین
print(np.std(data))      # انحراف معیار
print(np.median(data))   # میانه

مثال واقعی: میانگین‌گیری از داده‌های تصادفی

data = np.random.rand(1000000)
mean = np.mean(data)
print("Mean:", mean)

در داده‌کاوی، معمولاً با میلیون‌ها ردیف داده سروکار داریم، و سرعت NumPy اینجا واقعاً می‌درخشه.


تمرین برای شما

۱. آرایه‌ای از اعداد ۱ تا ۲۰ بسازید و فقط اعداد زوج را چاپ کنید.
۲. ماتریسی ۳×۳ با مقادیر تصادفی بسازید و دترمینان آن را با np.linalg.det() محاسبه کنید.
۳. آرایه‌ای از ۱۰ عدد تصادفی بین ۰ تا ۱ بسازید و تعداد مقادیری که از ۰.۵ بزرگ‌ترند را بشمارید.
۴. یک آرایه ۲ بعدی بسازید و مجموع سطوح و ستون‌ها را محاسبه کنید.


منابع یادگیری بیشتر درباره NumPy


جمع‌بندی

در این آموزش، با کتابخانه NumPy در پایتون آشنا شدیم.
یاد گرفتیم چطور آرایه بسازیم، عملیات عددی انجام بدیم، داده‌ها رو برش بدیم و تحلیل آماری اولیه انجام بدیم.

اگر قصد داری وارد مسیر تحلیل داده حرفه‌ای بشی، آموزش‌های بعدی ما در بلاگ Upgrade4u رو از دست نده.
مقاله بعدی ما «راهنمای جامع تحلیل داده با پایتون» هست که همه مراحل پروژه واقعی رو پوشش می‌ده.


📬 عضو خبرنامه شو!

اگر دنبال یادگیری کاربردی، پروژه‌محور و تخصصی در حوزه علم داده هستی، همین حالا عضو خبرنامه Upgrade4u شو تا هر هفته یک آموزش تازه در ایمیلت باشه.