اذهب إلى المحتوى

السؤال

Recommended Posts

  • 0
نشر

وعليكم السلام ورحمة الله وبركاته.

numpy.where هي دالة تُستخدم لاختيار العناصر بناء على شرط معين. ويمكن استخدامها بدلا من if في بعض العمليات التي كنت تستخدم if فيها.وإن الدالة where تعمل بطريقة أكثر كفاءة عندما  تتعامل مع المصفوفات.

وإليك طريقة إستخدامها :

numpy.where(condition, x, y)

حيث :

  • condition: هو الشرط الذي يتم التحقق منه .
  • x: القيمة التي سيتم اختيارها إذا كانت condition صحيحة (True).
  • y: القيمة التي سيتم اختيارها إذا كانت condition خاطئة (False).

مثال :

import numpy as np

a = np.array([1, 2, 3, 4, 5])
result = np.where(a > 3, 'bigger', 'lower')
print(result)

#['lower' 'lower' 'lower' 'bigger' 'bigger']

هنا لاحظ أنه سيتم تنفيذ الدالة على جميع العناصر في المصفوفة وسيتم إستبدال العنصر بكلمة bigger إذا كان أكبر من 3 و lower إذا كان أقل منها أو يساوي 3.

في المثال السابق كان يمكنك إستخدام if كالتالي :

for num in a:
    if num > 3:
        print('bigger')
    else:
        print('lower')

إذا نستخدم numpy.where للتحقق من شرط معين على جميع العناصر مرة واحدة في مصفوفة وتحديد قيمة معينة بناء على هذا الشرط.

أما if نستخدمها للتحقق من شرط واحد في كل مرة.

وإليك التوثيق الرسمي ل where :

  • 0
نشر

كما تم التوضيح بالتعليق السابق فإن numpy.where هي دالة تستخدم مع مصفوفات NumPy وتعمل بشكل مختلف عن if العادية .

ولذلك يفضل استخدم numpy.where مع مصفوفات NumPy الكبيرة وعندما تريد عمليات سريعة وبينما يفضل استخدم if للحالات البسيطة أو عندما تحتاج منطق معقد لا يمكن تنفيذه بـ where

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...