تابع میانگین در پایتون با مثال و کد – به زبان ساده
تابع میانگین در پایتون برای محاسبه مقدار میانگین چند عدد مختلف به کار برده میشود. برای مثال لیست [1, 3, 2] را به تابع میدهیم. این تابع در خروجی میانگین اعداد درون لیست را محاسبه کرده و برمیگرداند. میانگین این لیست برابر با 2 است. پایتون یکی از مشهورترین زبانهای برنامه نویسی برای انجام محاسبات آماری و توسعه مدلهای هوش مصنوعی است. بنابراین به مقدار چشمگیری متد و ماژول متنوع برای پردازش حجم عظیم دادهها در پایتون فراهم شدهاند. یکی از رایجترین عملیات ریاضی در زمان کار با دادههای زیاد، محاسبه میانگین بین مقادیر مختلف است. روشهای مختلفی برای محاسبه این عدد در پایتون وجود دارند.
- با مفهوم میانگین و روشهای محاسبه آن در عملیات مختلف آشنا میشوید.
- یاد میگیرید که چگونه خودتان تابعی برای محاسبه مقدار میانگین در پایتون بنویسید.
- با تابع mean در کتابخانه Statistics آشنا شده و روش محاسبه میانگین با آن را میآموزید.
- روش کار با تابع mean را در زمان محاسبه میانگین کلید و مقدار دیکشنری یاد میگیرید.
- روش استفاده از تابع mean در کتابخانه Numpy را آموخته و پارامترهای آن را میشناسید.
- با نکات مهم در زمان استفاده از تابع mean در Numpy آشنا میشوید.


در این مطلب از مجله فرادرس، تابع میانگین در پایتون را بررسی میکنیم. از آنجا که خود پایتون هیچ تابع درونی برای محاسبه این مقدار ندارد، ابتدا خودمان تابع میانگین را به صورت دستی تعریف میکنیم. سپس توابع موجود در کتابخانههای «Numpy» و «Statistics» را معرفی کرده و برای هر کدام مثالهای سادهای مینویسیم.
تابع میانگین در پایتون
در زبان برنامه نویسی پایتون هیچ تابعی به صورت پیشفرض برای محاسبه مقدار میانگین وجود ندارد. منظور از پیشفرض این است که چنین تابعی در کتابخانه استاندارد پایتون تعبیه نشده. اما در ماژولهای خارجی مانند Numpy و Statistics تابع mean() برای محاسبه مقدار میانگین در دسترس قرار دارد.

از جمله کاربردهای تابع میانگین در پایتون مربوط به حل مسائل حوزه آمار و احتمالات است. پایتون در این حوزه هم به خوبی درخشیده است. برای آشنایی با این کاربرد پایتون پیشنهاد میکنیم که فیلم آموزش آمار و احتمال در «پایتون» (Python)
را از فرادرس مشاهده کنید. به منظور کمک به مخاطبان مجله، لینک این فیلم آموزشی را در پایین نیز قرار دادهایم.
در ادامه مطلب با کتابخانههای Numpy و Statistics و توابع اختصاصی آنها برای محاسبه مقدار میانگین آشنا میشویم. اما گاهی از اوقات امکان استفاده از آنها وجود ندارد یا اینکه نمیخواهیم در برنامه مورد نظر از ماژولهای خارجی استفاده کنیم. در این صورت میتوانیم تابع میانگین مخصوص خود را با نام دلخواه بنویسیم. تنها کاری که باید بکنیم، نوشتن چند خط کد ساده است.
در کد بالا تابع محاسبه میانگین mean() را با کمک توابع sum() و len() نوشتهایم. این توابع جزو توابع درونی پایتون هستند. یعنی آن که برای استفاده از آنها نیاز به ایمپورت کردن هیچ کتابخانه یا ماژول خارجی نداریم. همینطور که در مثال زیر دیده میشود، تابع ساخته شده mean() به خوبی کار کرده و مقدار میانگین را محاسبه میکند.
در ادامه مطلب، توابع میانگین پایتون را در کتابخانههای Numpy و Statistics بررسی میکنیم.

تابع میانگین در پایتون از کتابخانه Statistics
یکی از روشهای پایتون برای محاسبه مقدار میانگین، استفاده از تابع mean() در ماژول statistics است. این تابع، مجموعهای از اعداد را دریافت میکند. سپس تمام آنها را با همدیگر جمع بسته و در نهایت بر تعداد اعداد درون مجموعه تقسیم میکند.
برای مثال فرض کنیم که لیست [2, 4, 6, 8] را در اختیار داریم. مقدار میانگین با محاسبه (2 + 4 + 6 + 8) / 4 = 5.0 به دست میآید. این تابع در زمان تحلیل داده و پیدا کردن مرکز اعداد کاربرد دارد.

در کادر پایین، سینتکس تابع mean() را نوشتهایم.
در سینتکس بالا پارامتر data وجود دارد. این پارامتر میتواند لیست، تاپل یا دنباله پیمایشپذیری از مقادیر عددی باشد. در صورت وجود عنصر غیرعددی در این دنباله، خطای TypeError بازگردانده میشود.
تا به اینجای مطلب با مفهوم و عملکرد تابع میانگین در پایتون آشنا شدهاید. در ادامه مثالهایی از کار با تابع ( )mean در کتابخانههای Numpy و Statistics را بررسی میکنید. در صورت تمایل به مطالعه چنین مطالبی پیشنهاد میکنیم که حتما اپلیکیشن مجله فرادرس را در گوشی خود نصب کنید.
برای نصب اپلیکیشن رایگان مجله فرادرس، کلیک کنید.
مثال اول: کار با تابع mean در کتابخانه Statistics
در کادر زیر، لیستی از اعداد داده شده است. با کمک تابع statistics.mean() میانگین آنها را محاسبه کرده و در خروجی برمیگردانیم.
بعد از اجرای کد بالا خروجی به صورت زیر در کنسول پایتون نمایش داده میشود.
Mean: 4.428571428571429مثال دوم: تاپل اعداد منفی و اعداد کسری
در این مثال، چند تاپل با عناصر مختلف داده شدهاند. در انتها هم میخواهیم میانگین کلیدهای دیکشنری را محاسبه کنیم.
بعد از اجرای کدهای بالا خروجی زیر در کنسول پایتون نمایش داده میشود.
Mean d1: 5.857142857142857
Mean d2: -7.5
Mean d3: 2.4285714285714284
Mean d4: 49/24
Mean d5: 2در فهرست پایین عملکرد کدهای بالا را توضیح دادهایم.
- در خطوط اول و دوم، تابع mean() از ماژول statistics و کلاس Fraction برای کار با کسرها وارد میشود.
- سپس چند تاپل d1 تا d4 شامل اعداد صحیح، منفی و کسر تعریف شدهاند.
- در خط ۸، دیکشنری d5 را تعریف کردیم. در زمان محاسبه میانگین دیکشنری با تابع mean() فقط کلیدها در نظر میشوند.
- در ادامه میانگین هر مجموعه با کمک تابع mean() محاسبه و چاپ شده است. در تاپل d4 میانگین کسرها حساب شده و در دیکشنری d5 میانگین عددی کلیدهای 1 و 2 و 3 چاپ میشود.
نکته ۱: برای ساخت اعداد کسری از تابع fr() استفاده کردهایم.
نکته ۲: وقتی از تابع mean() بر روی دیکشنریها استفاده میکنیم، این تابع فقط کلیدها را در نظر میگیرد. با مقادیر مربوط به آنها کاری ندارد.
مثال سوم: خطای TypeError در زمان استفاده از دادههای نامعتبر
در برنامه پایین هم از تابع statistics.mean() بر روی دیکشنری استفاده کردهایم. همینطور که در بخش قبل اشاره شد، این تابع فقط بر روی کلیدهای دیکشنری عمل میکند. اما اگر این کلیدها از نوع رشته باشند عملکرد تابع به مشکل برمیخورد.
بعد از اجرای کدهای بالا پیغام خطای زیر در خروجی بازگردانده میشود.
Hangup (SIGHUP)
Traceback (most recent call last):
File "/usr/local/lib/python3.13/statistics.py", line 331, in _exact_ratio
return (x.numerator, x.denominator)
^^^^^^^^^^^
AttributeError: 'str' object has no attribute 'numerator'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/guest/sandbox/Solution.py", line 4, in <module>
print(mean(d)) # Raises TypeErrorدر این کد، کلیدهای دیکشنری عدد نیستند. همه این کلیدها از نوع رشتهاند. بنابراین اجرای آنها با تابع mean() باعث اعلام خطای TypeError میشود.
هر چقدر که بیشتر با انواع خطاهای برنامه نویسی آشنا شوید، بهتر هم میتوانید برنامه را دیباگ کرده و مشکلات را برطرف کنید. البته برای مدیریت خطاها و حالتهای استثنا میتوانیم از ساختار Try Except در پایتون استفاده کنیم. در صورت نیاز به آشنایی با این موضوعات پیشنهاد میکنیم مطالب مربوط به آنها را در مجله فرادرس مطالعه کنید.
کسب مهارت در کار با توابع پایتون به کمک فرادرس
پایتون توابع بسیار قدرتمند و انعطافپذیری دارد. برای کسب مهارت در توسعه اپلیکیشنهای پایتون بهتر است روش کار با این توابع را بلد بوده یا حداقل تجربه کار با آنها را بهدست بیاوریم. زبان برنامه نویسی پایتون در عین داشتن سینتکس ساده قدرت زیادی هم دارد. برای همین نفوذ بسیار خوبی در حوزههای مختلف پیدا کرده است. یکی از روشهای خوب برای یادگیری مطالب پیشرفته، استفاده از منابع حرفهای مانند فیلمهای آموزشی است. این نوع فیلمها نسبت به کلاسهای حضوری بازدهی بیشتری دارند. یکی از امتیازات فیلمهای آموزشی، هزینه کمتر این محصولات است.

در زمینه آموزش کار با توابع پیشرفته پایتون هم فرادرس فیلمهای آموزشی بسیار مناسبی تولید کرده است. فیلمهای فرادرس با کمک اساتید باتجربه و تکنیکهای پیشرفته تولید شدهاند. در نتیجه کیفیت بالا و محتوای ارزشمندی دارند. در این فیلمها از نکات ساده تا دستورات پیشرفته آموزش داده شدهاند. با استفاده از فیلمهای فرادرس نسبت به سایر روشها سریعتر و بهتر نتیجه میگیرید.
در پایین، چند مورد از فیلمهای مربوط به زبان پایتون معرفی شدهاند.
- فیلم آموزش رایگان پایتون، برنامه نویسی سریع و آسان در ۱۴۰ دقیقه + گواهینامه
- فیلم آموزش رایگان کتابخانه های پایتون برای یادگیری ماشین و یادگیری عمیق + گواهینامه
- فیلم آموزش تجزیه و تحلیل و آماده سازی داده ها با Python + گواهینامه
- فیلم آموزش مقدماتی کار با پایگاه های داده در «پایتون» (Python) + گواهینامه
- فیلم آموزش Pandas برای تحلیل اطلاعات در پایتون + گواهینامه
تابع میانگین در پایتون از کتابخانه NumPy
تابع mean() در کتابخانه NumPy یکی از ابزارهای اصلی برای انجام محاسبات و تحلیل آرایهها است. این تابع برای محاسبه میانگین ریاضی عناصر درون آرایه به کار برده میشود. استفاده از آن برای انجام وظایف مربوط به تحلیل داده ضروری است. زیرا در بعضی از مسائل تشخیص «شاخص مرکزی» (Central Tendency) مجموعه داده اهمیت زیادی دارد.
کاربرد
تابع mean() برای محاسبه مقدار میانگین دادههای درون آرایه یا محدوده مشخص شده از محور خاصی به کار برده میشود. این تابع کمک میکند مجموعههای داده بزرگ را به چند عدد مشخص به عنوان نماینده کل دادهها خلاصه کنیم. از جمله کاربردهای تابع mean() میتوان به انجام «تحلیلهای آماری» (Statistical Analysis) و «پیش پردازش دادهها» (Data Preprocessing) اشاره کرد.
در کادر پایین، سینتکس کار با تابع mean() را نوشتهایم.
همینطور که مشاهده میکنید، تابع mean() در پایتون ۵ پارامتر مختلف دریافت میکند. تمام این پارامترها را در فهرست زیر، توضیح دادهایم.
- a: این پارامتر همان آرایه ورودی را نشان میدهد.
- axis: پارامتر axis محوری را مشخص میکند که باید میانگین اعداد موجود بر روی آن را محاسبه کنیم. به طور پیشفرض axis=None است. یعنی میانگین عناصر آرایه بعد از تبدیل شدن کل آن به لیست یکبعدی محاسبه میشود. در اصطلاح گفته میشود که پایتون کل آرایه را «تخت» (Flatten) میکند.
- dtype: پارامتر dtype زمانی مفید است که دادههای موجود در لیست از نوع عدد صحیح هستند. اما میخواهیم که مقدار میانگین را با دقت بیشتری حساب کنیم. در چنین شرایطی باید آن را برابر با Float قرار بدهیم.
- out: پارامتر out آرایهای را نشان میدهد که باید مقدار نتیجه در آن قرار بگیرد. وجود این پارامتر، اختیاری است.
- keepdims: اگر مقدار این پارامتر برابر با True باشد، هیچ کدام از محورها حذف نمیشوند. بلکه در خروجی به صورت ابعادی با اندازه 1 نشان داده میشوند.

مثال اول: محاسبه مقدار میانگین ساده
در کادر زیر، ابتدا لیستی را به آرایه پایتون تبدیل میکنیم. سپس میانگین آن را با کمک تابع mean() در نامپای بهدست میآوریم.
در کادر بالا مقدار میانگین آرایه یکبعدی را محاسبه کردیم. نتیجه این کد برابر با 3.0 است.
مثال دوم: محاسبه میانگین بر روی محور مشخص شده
در این مثال، ابتدا آرایه دوبعدی در پایتون ایجاد میکنیم. سپس با استفاده از تابع mean() مقدار میانگین دادههای موجود در ستونهای این آرایه دوبعدی یا همان ماتریس را محاسبه میکنیم.
بعد از اجرای کد بالا آرایه تکبعدی [2.5, 3.5, 4.5] به عنوان میانگین عناصر ستونی ماتریس محاسبه میشود. برای مشخص کردن میانگین عناصر ستونی ماتریس، از کد axis=0 استفاده کردهایم. در نهایت هم لیست زیر به عنوان نتیجه بازگردانده میشود.
[2.5 3.5 4.5]مثال سوم: محاسبه میانگین با نوع دادههای متفاوت
در این مثال، لیست پایتونی از اعداد صحیح داده شده است. میخواهیم از پارامتر dtype استفاده کنیم. با کمک این پارامتر، مقدار دقیق میانگین را محاسبه میکنیم.
در فهرست پایین، روش کار کدهای بالا را نوشتیم.
- ابتدا ماژول numpy را وارد کردیم.
- در خط سوم، آرایهی عددی با مقدارهای 1 و 2 و 3 و نوع دادهی int32 ساخته میشود.
- در خط ۴ با np.mean میانگین آرایه را محاسبه میکنیم. در این خط از دستور dtype=np.float64 استفاده کردهایم. به معنای آن که نتیجه به صورت عدد اعشاری برگردانده شود.
- در پایان مقدار میانگین چاپ میشود. این مقدار برابر 2.0 است.
نکته: اگر در خط ۴ از پارامتر dtype استفاده نکنیم، پاسخ هم از نوع عدد صحیح میشود. در این مسئله فرقی نمیکند. اما اگر پاسخ مقدار اعشار داشته باشد، اعلام آن با نوع صحیح باعث حذف بخش اعشاری و کاهش دقت برنامه میشود.
مثال چهارم: محاسبه میانگین با کمک پارامتر out
در این مثال برای محاسبه میانگین، اعداد درون آرایه نامپای از پارامتر out استفاده کردهایم. مثال زیر، برای بررسی عملکرد این پارامتر نوشته شده است.
بعد از اجرای کدهای بالا خروجی زیر در کنسول پایتون نمایش داده میشود.
3.0با کمک پارامتر out میتوانیم نتیجه بهدستآمده را به طور مستقیم در آرایه «از پیشاختصاصداده شده» (Pre-Allocated) ذخیره کنیم. این روش در بعضی از سناریوها عملکرد برنامه را ارتقا میدهد. در فهرست پایین، روش کار کدهای بالا را نوشتهایم.
- در ابتدا ماژول numpy ایمپورت میشود.
- در خط سوم، آرایهی عددی از 1 تا 5 ساخته شده است.
- در خط چهارم، با کمک تابعnp.empty متغیری به نام out_array ایجاد کردهایم. این متغیر از نوع float64 بوده و برای ذخیره نتیجه به کار برده میشود.
- تابع np.mean() میانگین آرایه را محاسبه کرده و بهجای بازگرداندن مقدار، آن را داخل out_array قرار میدهد.
- در خط ۶، میانگین چاپ میشود. این مقدار برابر با 3 است.

نکات مهم در زمان استفاده از تابع mean در Numpy
در فهرست زیر، چند نکته مهم را نوشتهایم. توجه به این نکات کیفیت کدهای نوشته شده را بیشتر کرده و از روبهرو شدن با خطاهای ناخواسته جلوگیری میکند.
- انتخاب هوشیارانه محورها: در زمان محاسبه مقدار میانگین، ممکن است با نتایج غلطی در تحلیل داده روبهرو شوید. برای جلوگیری از این مسئله سعی کنید ستون یا ردیفهای آرایههای چندبعدی را با دقت مشخص کنید.
- افزایش دقت با کمک dtype: برای جلوگیری از بروز نتایج غیرمنتظره در زمان کار با آرایههایی از اعداد صحیح، بهتر است با کمک پارامتر dtype دقت تابع را بیشتر کنیم.
- مدیریت مجموعه دادههای بزرگ: در زمان کار با مجموعه دادههای بزرگ از پارامتر out استفاده کنید. به وسیله این پارامتر میتوانید نتایج بهدستآمده را در آرایههای از پیش مشخص شده ذخیره کنید. با این کار، عملکرد برنامه ارتقا پیدا میکند.
- ثابت نگهداشتن ساختار داده خروجی با استفاده از keepdims: از پارامتر keepdims=True در تابع mean() استفاده کنید. با این کار، تعداد ابعاد پاسخ بهدستآمده با ابعاد آرایه داده شده برای محاسبه میانگین، مساوی خواهد شد. این کار انجام محاسبات ریاضی بعدی را سادهتر میکند.
- شناخت توزیع دادهها: نحوه توزیع دادههای خود را بشناسید. از سایر شاخصهای آماری مانند «میانه» (Median) و واریانس هم در کنار تابع mean() استفاده کنید. با این کار تصویر کامل و واضحی از دادههای خود بهدست میآورید.
- مدیریت مقادیر «NaN»: شاید آرایه موجود شامل مقادیر NaN باشد. در چنین صورتی بهتر است که از تابع np.nanmean() برای محاسبه میانگین در پایتون استفاده کنید. این تابع، میانگین مجموعه داده شده را با نادیده گرفتن مقادیر NaN محاسبه میکند.
یادگیری پایتون با اجرای پروژه های واقعی
یکی از روشهای مناسب برای یادگیری عمیق هر مهارتی استفاده از آن در زمان کار است. آموزش پایتون نیز همراه با اجرای پروژههای واقعی، تاثیر زیادی در افزایش بهرهوری دارد. وبسایت فرادرس، مجموعه کاملی از فیلمهای پروژهمحور پایتون را منتشر کرده است. تمرکز اصلی در این دورهها بر روی اجرای پروژههای عملی است. اما در کنار این عملیات، مفاهیم پایه و مهارتهای پیشرفته برنامه نویسی نیز آموزش داده میشوند. مشاهده فیلمهای پروژهمحور کمک میکند که هم با روش استفاده صحیح از دستورات پایتون آشنا شوید و هم کاربرد عملی این دستورات را در زمان پیادهسازی الگوریتمهای عملیاتی یاد بگیرید.
در پایین، چند مورد از فیلمهای آموزش پروژهمحور زبان پایتون را معرفی کردهایم.
- فیلم آموزش مقدماتی ساخت ربات تلگرام با پایتون
- فیلم آموزش کاربرد پایتون در مهندسی شیمی – از مبانی تا حل معادلات پیشرفته
- فیلم آموزش رایگان پروژه محور پایتون – حل مسئله «جرم-فنر-دمپر» به روش رانگ کوتا
- فیلم آموزش مدیریت موجودی انبار در پایتون + پروژه اپلیکیشن گرافیکی سیستم انبارداری
- فیلم آموزش پروژه محور Python درباره ساخت Music Player
با کلیک بر روی تصویر زیر میتوانید به صفحه اصلی این مجموعه آموزشی، هدایت شده و فیلمهای پروژهمحور بیشتری را مشاهده کنید.

جمعبندی
در این مطلب از مجله فرادرس، تابع میانگین در پایتون را بررسی کردیم. عملیات محاسبه میانگین یکی از رایجترین عملیات در زمان انجام محاسبات علمی یا کار بر روی مجموعههای داده بزرگ است. البته پایتون هیچ تابعی به صورت درونی برای محاسبه این مقدار در نظر نگرفته. بنابراین باید از ماژولهای دیگر استفاده کنیم. در ابتدای مطلب، برای محاسبه میانگین، تابع سادهای با زبان پایتون نوشتهایم. اگر نخواهیم از کتابخانههای خارجی استفاده کنیم، ساختن این تابع و استفاده کردن از آن بهترین روش است.
سپس، توابع محاسبه میانگین در کتابخانههای مهم پایتون مانند NumPy و Statistics را معرفی کرده و برای هر کدام چند مثال حل کردیم. تابع موجود در کتابخانه Statistics سادهتر بوده و برای کار بر روی مجموعه دادههای درونی پایتون طراحی شده است. اما تابع mean() در کتابخانه NumPy کمی پیچیدهتر است. این تابع توانایی محاسبه مقدار میانگین بر روی آرایههای چند بعدی NumPy را دارد.












