قابلیت های کلیدی NumPy برای تحلیل داده ها و آمار:
- ساختارهای داده آرایه: NumPy آرایه های چندبعدی کارآمد را برای ذخیره و دستکاری داده های عددی ارائه می دهد. این آرایه ها به طور خاص برای محاسبات عددی بهینه شده اند و به شما امکان می دهند به طور کارآمد به داده ها دسترسی داشته باشید و آنها را دستکاری کنید.
- توابع آمار توصیفی: NumPy توابع مختلفی را برای محاسبه مقادیر آماری توصیفی مانند میانگین، میانه، مد، واریانس، انحراف معیار، حداقل و حداکثر ارائه می دهد. این توابع به شما امکان می دهد به سرعت و به آسانی اطلاعات کلیدی را از مجموعه داده های خود استخراج کنید.
- عملیات ماتریس: NumPy از عملیات ماتریسی مانند ضرب ماتریس، جمع، تفریق، جابجایی و معکوس ماتریس پشتیبانی می کند. این قابلیت ها برای حل معادلات خطی، تجزیه و تحلیل داده های ماتریسی و انجام سایر محاسبات مربوط به ماتریس مفید هستند.
- توزیع های احتمال: NumPy توابعی برای کار با توزیع های احتمال رایج مانند توزیع نرمال، توزیع گاما، توزیع تصادفی و توزیع دو جمله ای ارائه می دهد. این توابع به شما امکان می دهد اعداد تصادفی را از توزیع های مختلف برای شبیه سازی و مدل سازی فرآیندهای تصادفی تولید کنید.
- تجزیه و تحلیل آماری: NumPy توابعی برای انجام تست های آماری مانند تست t دانشجو، تست ANOVA و تست کای دو ارائه می دهد. این توابع به شما امکان می دهد فرضیه ها را آزمایش کنید و استنباط های آماری در مورد مجموعه داده های خود انجام دهید.
مزایای استفاده از NumPy برای تحلیل داده ها و آمار:
- سرعت و کارایی: NumPy از الگوریتم های بسیار بهینه شده برای محاسبات عددی استفاده می کند که آن را به ابزاری سریع و کارآمد برای تجزیه و تحلیل داده های بزرگ تبدیل می کند.
- انعطاف پذیری: NumPy طیف گسترده ای از توابع و ابزارها را برای طیف وسیعی از وظایف مربوط به داده ها ارائه می دهد.
- یکپارچه سازی با کتابخانه های دیگر: NumPy به طور یکپارچه با سایر کتابخانه های محبوب تجزیه و تحلیل داده ها مانند Pandas و SciPy کار می کند.
- سازگاری: NumPy در پلتفرم های مختلف از جمله Windows، macOS و Linux قابل استفاده است.
کاربردهای NumPy در تحلیل داده ها و آمار:
- تجزیه و تحلیل داده های توصیفی: محاسبه میانگین، میانه، مد، واریانس، انحراف معیار و سایر آمار کلیدی برای مجموعه داده ها.
- تجزیه و تحلیل رگرسیون: تخمین مدل های رگرسیون خطی و غیرخطی برای بررسی روابط بین متغیرها.
- خوشه بندی: گروه بندی نقاط داده بر اساس شباهت های آنها.
- یادگیری ماشین: ساخت و آموزش مدل های یادگیری ماشین برای پیش بینی، طبقه بندی و سایر وظایف.
- پردازش سیگنال: تجزیه و تحلیل، فیلتر کردن و دستکاری سیگنال های دیجیتال.
- شبیه سازی: شبیه سازی مدل های تصادفی و فرآیندهای استوخاستیک.
NumPy ابزاری قدرتمند و همه کاره برای تحلیل داده ها و آمار است. با یادگیری مفاهیم پایه NumPy و کاربردهای آن، می توانید طیف گسترده ای از مسائل مربوط به داده ها را حل کرده و از بینش های ارزشمندی از داده های خود بدست آورید.
مثال
در این مثال جامع، به بررسی نحوه استفاده از NumPy برای تجزیه و تحلیل مجموعه داده ای از حقوق و تجربه کارکنان یک شرکت فرضی می پردازیم.
مراحل:
۱. بارگیری و آماده سازی داده ها:
- داده ها را به عنوان یک فایل CSV به نام
employee_data.csv
بارگیری کنید. - این فایل شامل ستون هایی برای
id
,name
,salary
,experience
وdepartment
است. - داده ها را با استفاده از
np.loadtxt()
به یک آرایه NumPy تبدیل کنید.
Python
import numpy as np
# بارگیری داده ها از فایل CSV
data = np.loadtxt('employee_data.csv', delimiter=',')
# انتخاب ستون های مورد نظر
employee_id = data[:, ۰]
name = data[:, ۱]
salary = data[:, ۲]
experience = data[:, ۳]
department = data[:, ۴]
۲. آمار توصیفی:
- میانگین، میانه، مد، واریانس، انحراف معیار، حداقل و حداکثر حقوق و تجربه را محاسبه کنید.
- از
np.mean()
,np.median()
,np.var()
,np.std()
,np.min()
, وnp.max()
برای این کار استفاده کنید.
Python
# آمار توصیفی حقوق
print("آمار توصیفی حقوق:")
print("میانگین:", np.mean(salary))
print("میانه:", np.median(salary))
print("مد:", np.unique(salary, return_counts=True)[۱][۰]) # مد را پیدا کنید
print("واریانس:", np.var(salary))
print("انحراف معیار:", np.std(salary))
print("حداقل:", np.min(salary))
print("حداکثر:", np.max(salary))
# آمار توصیفی تجربه
print("\nآمار توصیفی تجربه:")
print("میانگین:", np.mean(experience))
print("میانه:", np.median(experience))
print("مد:", np.unique(experience, return_counts=True)[۱][۰]) # مد را پیدا کنید
print("واریانس:", np.var(experience))
print("انحراف معیار:", np.std(experience))
print("حداقل:", np.min(experience))
print("حداکثر:", np.max(experience))
۳. تجزیه و تحلیل بر اساس بخش:
- میانگین حقوق و تجربه را برای هر بخش محاسبه کنید.
- از
np.groupby()
برای گروه بندی داده ها بر اساس بخش و سپس محاسبه میانگین با استفاده ازnp.mean()
استفاده کنید.
Python
# تجزیه و تحلیل بر اساس بخش
print("\nتجزیه و تحلیل بر اساس بخش:")
for dept in np.unique(department):
dept_data = data[department == dept]
dept_salary = dept_data[:, ۲]
dept_experience = dept_data[:, ۳]
print(f"\nبخش: {dept}")
print("میانگین حقوق:", np.mean(dept_salary))
print("میانگین تجربه:", np.mean(dept_experience))
۴. رسم نمودار توزیع حقوق:
- نمودار توزیع حقوق را با استفاده از
matplotlib.pyplot.hist()
رسم کنید.
Python
import matplotlib.pyplot as plt
# رسم نمودار توزیع حقوق
plt.hist(salary)
plt.xlabel('حقوق')
plt.ylabel('تعداد کارمندان')
plt.title('توزیع حقوق')
plt.show()
۵. همبستگی بین حقوق و تجربه:
- ضریب همبستگی پیرسون بین حقوق و تجربه را محاسبه کنید.
- از
np.corrcoef()
برای محاسبه ضریب همبستگی استفاده کنید.
Python
# همبستگی بین حقوق و تجربه
correlation = np.corrcoef(salary, experience)[۰, ۱]
print("\nهمبستگی بین حقوق و تجربه:", correlation)
این مثال فقط نمونه ای از کاربردهای NumPy برای تجزیه و تحلیل داده ها و آمار است.
با یادگیری NumPy می توانید طیف گسترده ای از وظایف مربوط به داده ها را انجام دهید، از جمله:
- تجزیه و تحلیل داده های توصیفی: محاسبه میانگین، میانه، مد، واریانس،