تابع میانگین در پایتون با مثال و کد – به زبان ساده

۸
۱۴۰۴/۰۹/۲۶
۱۰ دقیقه
PDF
آموزش متنی جامع
امکان دانلود نسخه PDF

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

آنچه در این مطلب می‌آموزید:
  • با مفهوم میانگین‌ و روش‌های محاسبه آن در عملیات مختلف آشنا می‌شوید.
  • یاد می‌گیرید که چگونه خودتان تابعی برای محاسبه مقدار میانگین در پایتون بنویسید.
  • با تابع mean در کتابخانه Statistics آشنا شده و روش محاسبه میانگین با آن را می‌آموزید.
  • روش کار با تابع mean را در زمان محاسبه میانگین کلید‌ و مقدار دیکشنری یاد می‌گیرید.
  • روش استفاده از تابع mean در کتابخانه Numpy را آموخته و پارامتر‌های آن را می‌شناسید.
  • با نکات مهم در زمان استفاده از تابع mean در Numpy آشنا می‌شوید.
تابع میانگین در پایتون با مثال و کد – به زبان سادهتابع میانگین در پایتون با مثال و کد – به زبان ساده
997696

در این مطلب از مجله فرادرس، تابع میانگین در پایتون را بررسی می‌کنیم. از آن‌جا که خود پایتون هیچ تابع درونی برای محاسبه این مقدار ندارد، ابتدا خودمان تابع میانگین را به صورت دستی تعریف می‌کنیم. سپس توابع موجود در کتابخانه‌های «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  به دست می‌آید. این تابع در زمان تحلیل داده و پیدا کردن مرکز اعداد کاربرد دارد.

نمونه‌ای از عملکرد تابع میانگین در پایتون از کتابخانه Statistics
روش کار تابع میانگین در پایتون

در کادر پایین، سینتکس تابع 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

در فهرست پایین عملکرد کدهای بالا را توضیح داده‌ایم.

  1. در خطوط اول و دوم، تابع mean() از ماژول statistics و کلاس Fraction  برای کار با کسرها وارد می‌شود.
  2. سپس چند تاپل d1  تا d4 شامل اعداد صحیح، منفی و کسر تعریف شده‌اند.
  3. در خط ۸، دیکشنری d5  را تعریف کردیم. در زمان محاسبه میانگین دیکشنری با تابع mean()  فقط کلیدها در نظر می‌شوند.
  4. در ادامه میانگین هر مجموعه با کمک تابع 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 از مقدماتی تا پیشرفته هدایت شوید.

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

در پایین، چند مورد از فیلم‌های مربوط به زبان پایتون معرفی شده‌اند.

تابع میانگین در پایتون از کتابخانه 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  استفاده کنیم. با کمک این پارامتر، مقدار دقیق میانگین را محاسبه می‌کنیم.

در فهرست پایین، روش کار کدهای بالا را نوشتیم.

  1. ابتدا ماژول numpy  را وارد کردیم.
  2. در خط سوم، آرایه‌ی عددی با مقدارهای 1  و 2  و 3  و نوع داده‌ی int32  ساخته می‌شود.
  3. در خط ۴ با np.mean  میانگین آرایه را محاسبه می‌کنیم. در این خط از دستور dtype=np.float64  استفاده کرده‌ایم. به معنای آن که نتیجه به صورت عدد اعشاری برگردانده شود.
  4. در پایان مقدار میانگین چاپ می‌شود. این مقدار برابر 2.0  است.

نکته: اگر در خط ۴ از پارامتر dtype استفاده نکنیم، پاسخ هم از نوع عدد صحیح می‌شود. در این مسئله فرقی نمی‌کند. اما اگر پاسخ مقدار اعشار داشته باشد، اعلام آن با نوع صحیح باعث حذف بخش اعشاری و کاهش دقت برنامه می‌شود.

مثال چهارم: محاسبه میانگین با کمک پارامتر out

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

بعد از اجرای کدهای بالا خروجی زیر در کنسول پایتون نمایش داده می‌شود.

3.0

با کمک پارامتر out  می‌توانیم نتیجه به‌دست‌آمده را به طور مستقیم در آرایه «از پیش‌اختصاص‌داده شده» (Pre-Allocated) ذخیره کنیم. این روش در بعضی از سناریوها عملکرد برنامه را ارتقا می‌دهد. در فهرست پایین، روش کار کدهای بالا را نوشته‌ایم.

  1. در ابتدا ماژول numpy  ایمپورت می‌شود.
  2. در خط سوم، آرایه‌ی عددی از 1  تا 5  ساخته شده است.
  3. در خط چهارم، با کمک تابعnp.empty متغیری به نام out_array  ایجاد کرده‌ایم. این متغیر از نوع float64  بوده و برای ذخیره نتیجه به کار برده می‌شود.
  4. تابع np.mean() میانگین آرایه را محاسبه کرده و به‌جای بازگرداندن مقدار، آن را داخل out_array  قرار می‌دهد.
  5. در خط ۶، میانگین چاپ می‌شود. این مقدار برابر با 3 است.
تصویری از کار با تابع میانگین در پایتون بر روی اعداد تصادفی و لوگوی پایتون

نکات مهم در زمان استفاده از تابع mean در Numpy

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

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

یادگیری پایتون با اجرای پروژه های واقعی

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

در پایین، چند مورد از فیلم‌‌های آموزش پروژه‌محور زبان پایتون را معرفی کرده‌ایم.

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

مجموعه آموزش پروژه محور برنامه نویسی پایتون (Python)
با کلیک بر روی تصویر بالا می‌توانید به صفحه اصلی مجموعه فیلم‌های آموزش پروژه محور برنامه نویسی پایتون هدایت شوید.

جمع‌‌بندی

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

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

بر اساس رای ۰ نفر
آیا این مطلب برای شما مفید بود؟
اگر پرسشی درباره این مطلب دارید، آن را با ما مطرح کنید.
منابع:
IONOSdatacampGeeksforGeeks
PDF
مطالب مرتبط
نظر شما چیست؟

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *