بايثون هي واحدة من لغات البرمجة الأكثر شعبية للإحصاء وتطوير الذكاء الاصطناعي. لذلك ليس من المستغرب أن تمتلك لغة Python العديد من الأساليب والوحدات النمطية لمساعدتك في معالجة كميات هائلة من البيانات. هنا، سنلقي نظرة على متوسط بايثون، وهي طريقة تتيح لك تحديد القيمة المتوسطة لعدة أرقام.
ما هي طريقة بايثون يعني؟¶
بناء الجملة والوظيفة¶
طريقة بايثون المتوسطة بسيطة: يأخذ مجموعة من الأرقام ويعطيك متوسطها. يجب تلخيص الأرقام في قائمة كوسيطة واحدة. يمكن استخدام كل من الأعداد الصحيحة وأرقام الفاصلة العائمة. يتم دائمًا إخراج نتيجة الحساب كرقم الفاصلة العائمة. اتبع بناء الجملة والتشغيل في المثال التالي.
import numpy as np
x = np.mean([1, 3, 2])
numbers = [1, 1.3, 4, 2.1, 1.0]
y = np.mean(numbers)
print(x) # output: 2.0
print(y) # output: 1.8800000000000001
بايثون
كما ترون في المثال أعلاه، تعمل الطريقة تمامًا كما هو موضح – فهي تحصل على قائمة من الأرقام وترجع متوسطها. يتم إخراج هذه النتيجة دائمًا كرقم الفاصلة العائمة، ويتم عرضها كـ “np.mean([1, 3, 2])”. القيمة المتوسطة لهذه الأرقام هي بالضبط 2 على الرغم من عرضها كـ “2.0”. بالإضافة إلى ذلك، يوضح هذا المثال أنه يمكنك تمرير القائمة مباشرة أو كمتغير تم إنشاؤه بالفعل.
يمكن أخذ تفصيلين مهمين آخرين حول طريقة بايثون المتوسطة من هذا المثال. يشير الأول إلى دقة أرقام الفاصلة العائمة والثاني إلى وحدة “NumPy”.
عرض أرقام الفاصلة العائمة¶
إذا قمت بالحساب الثاني من المثال أعلاه يدويًا، فستحصل على 1.88 بالضبط. على الرغم من أن البرنامج لا يظهر هذه النتيجة. ويرجع ذلك إلى كيفية تمثيل أرقام الفاصلة العائمة في نظام الأرقام الثنائية، الذي تعتمد عليه جميع الآلات الحاسبة الحديثة. تماما كما هو الحال في النظام العشري العادي هناك بعض الأرقام الكسرية التي لا يمكن تمثيلها بدقة في النظام الثنائي. مثال على ذلك في النظام العشري هو 0.3333…. يمكنك دائمًا إضافة 3 آخرين، لكن لا يمكنك أبدًا الوصول إلى الثلث بالضبط.
على الرغم من أن هذه المشكلة لا يمكن تجنبها، إلا أن دقة أرقام الفاصلة العائمة عالية بما يكفي لن يحدث فرقًا كبيرًا في معظم الحالات. ومع ذلك، من الجيد أن تضع مشكلات الدقة هذه في الاعتبار عند التعامل مع أرقام الفاصلة العائمة.
وحدة NumPy¶
كما ترون في المثال أعلاه، الطريقة المتوسطة لا تنتمي إلى مكتبة بايثون القياسية. لاستخدام هذه الطريقة، تحتاج إلى استيرادها من وحدة خارجية، مثل “NumPy” أو “statistics”. قد تحتاج إلى تثبيت هذه الوحدات، ولكن بمجرد الانتهاء من ذلك، يمكنك دمجها بسهولة. للقيام بذلك، ما عليك سوى إضافة سطر التعليمات البرمجية “import numpy” في بداية البرنامج. وبدلاً من ذلك، إذا كنت تريد الإشارة إلى الوحدة تحت اسم مختلف في المستقبل، فيمكنك كتابة “import numpy as x”، حيث يكون “x” هو الاسم الذي تريده.
هل تتطلع إلى نشر تطبيق الويب الخاص بك بسرعة وسهولة وحتى مباشرة عبر Git؟ إذًا يمكن أن يكون النشر الآن من IONOS هو الحل الأمثل بالنسبة لك!
بايثون تعني البدائل¶
كما ذكرنا سابقًا، لا تنتمي الطريقة المتوسطة إلى مكتبة Python القياسية، بل إلى وحدات خارجية مثل “NumPy” التي تحتاج إلى استيرادها. إذا لم يكن ذلك ممكنًا أو كنت لا ترغب في ذلك، فيمكنك أيضًا تنفيذ يعني طريقة نفسك. كل ما عليك فعله هو كتابة بضعة أسطر من التعليمات البرمجية:
def mean(numbers):
return sum(numbers)/len(numbers)
بايثون
إن الطريقتين “sum” و”len” المستخدمتين هنا مدمجتان في مكتبة Python القياسية، مما يعني أنك لا تحتاج إلى استيرادهما. كما ترون في المثال التالي، تنفيذه يعمل تمامًا مثل “mean” من “numpy”.
def mean(numbers):
return sum(numbers)/len(numbers)
x = mean([1, 3, 2])
numbers = [1, 1.3, 4, 2.1, 1.0]
y = mean(numbers)
print(x) # output: 2.0
print(y) # output: 1.8800000000000001
بايثون
بالإضافة إلى أساليب مثل “المتوسط”، تعد عوامل تشغيل Python ضرورية لمعالجة مجموعات البيانات. في مقالتنا حول هذا الموضوع، ننظر إلى كل مشغل وما يقدمه.
بايثون تعني حالات الاستخدام¶
سنعرض لك الآن بعض الأمثلة على الطريقة المتوسطة عمليًا. في البرنامج التالي، يُطلب من المستخدم بشكل متكرر إدخال رقم. يتم تحويل هذا الرقم من سلسلة في عدد صحيح وإضافته إلى القائمة. يتم بعد ذلك تحديث متوسط قيمة العناصر الموجودة في هذه القائمة بشكل مستمر وإخراجها مع كل إدخال جديد.
import numpy as np
list = []
while(True):
list.append(int(input('add number to list: ')))
print(np.mean(liste))
بايثون
في المثال التالي، هناك ثلاثة أشخاص، لكل منهم إحداثيات x وy وz. يتم تطبيق الطريقة المتوسطة، ويتم حساب نقطة التقاء الأشخاص الثلاثة وإخراجها.
import numpy as np
person1 = [1.5, 6.0, 4.2]
person2 = [10.0, 9.0, 7.7]
person3 = [15.5, 0.0, -5.0]
people = [person1, person2, person3]
Average position = []
i = 0
while(i < len(person1)):
temp = []
for x in people:
temp.append(x[i])
average position.append(np.mean(temp))
i = i + 1
print(average position) # output: [9.0, 5.0, 2.3000000000000003]
بايثون
اكتشاف المزيد من إشراق العالم
اشترك للحصول على أحدث التدوينات المرسلة إلى بريدك الإلكتروني.