Numpy: كيفية الحصول على المؤشرات التي تكون قيمتها صحيحة


يمكنك استخدام الطرق التالية للحصول على المؤشرات التي يكون الشرط فيها صحيحًا في NumPy:

الطريقة الأولى: الحصول على مؤشرات حيث يكون الشرط صحيحًا في صفيف NumPy

 #get indices of values greater than 10
n.p. asarray (my_array> 10 ). nonzero ()

الطريقة الثانية: الحصول على المؤشرات التي يكون الشرط فيها صحيحًا في مصفوفة NumPy

 #get indices of values greater than 10
n.p. transpose ((my_matrix>10) .nonzero ())

الطريقة الثالثة: الحصول على المؤشرات التي يكون الشرط فيها صحيحًا في أي صف من مصفوفة NumPy

 #get indices of rows where any value is greater than 10
n.p. asarray ( np.any (my_matrix> 10 ,axis= 1 )). nonzero ()

توضح الأمثلة التالية كيفية استخدام كل طريقة عمليًا.

مثال 1: احصل على مؤشرات حيث يكون الشرط صحيحًا في مصفوفة NumPy

يوضح التعليمة البرمجية التالية كيفية الحصول على جميع مؤشرات مصفوفة NumPy التي تكون قيمتها أكبر من 10:

 import numpy as np

#create NumPy array
my_array = np. array ([2, 2, 4, 5, 7, 9, 11, 12, 3, 19])

#get index of values greater than 10
n.p. asarray (my_array> 10 ). nonzero ()

(array([6, 7, 9], dtype=int32),)

من النتيجة يمكننا أن نرى أن القيم في مواضع الفهرس 6 و 7 و 9 من مصفوفة NumPy الأصلية لها قيم أكبر من 10.

مثال 2: احصل على مؤشرات حيث يكون الشرط صحيحًا في مصفوفة NumPy

يوضح التعليمة البرمجية التالية كيفية الحصول على جميع مؤشرات مصفوفة NumPy التي تكون قيمتها أكبر من 10:

 import numpy as np

#create NumPy matrix
my_matrix = np. array ([[2, 5, 9, 12],
                     [6, 7, 8, 8],
                     [2, 5, 7, 8],
                     [4, 1, 15, 11]])

#get index of values greater than 10
n.p. transpose ((my_matrix> 10 ) .nonzero ())

array([[0, 3],
       [3, 2],
       [3, 3]], dtype=int32)

ومن النتيجة يمكننا أن نرى أن القيم الموجودة في مواضع الفهرس التالية للمصفوفة لها قيم أكبر من 10:

  • [0، 3]
  • [3، 2]
  • [3، 3]

مثال 3: احصل على مؤشرات حيث يكون الشرط صحيحًا في أي صف من مصفوفة NumPy

يوضح التعليمة البرمجية التالية كيفية الحصول على جميع مؤشرات الصفوف في مصفوفة NumPy حيث تكون القيمة أكبر من 10 في أي عنصر في الصف:

 import numpy as np

#create NumPy matrix
my_matrix = np. array ([[2, 5, 9, 12],
                     [6, 7, 8, 8],
                     [2, 5, 7, 8],
                     [4, 1, 15, 11]])

#get index of rows where any value is greater than 10
n.p. asarray ( np.any (my_matrix> 10 , axis= 1 )). nonzero ()

(array([0, 3], dtype=int32),)

من النتيجة يمكننا أن نرى أن الصفوف 0 و 3 لها قيمة واحدة على الأقل أكبر من 10.

ملاحظة : للحصول على مؤشرات يكون فيها الشرط صحيحًا في عمود، استخدم المحور=0 بدلاً من ذلك.

مصادر إضافية

تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في NumPy:

كيفية ملء مصفوفة NumPy بالقيم
كيفية إزالة عناصر محددة من مجموعة NumPy
كيفية استبدال العناصر في مجموعة NumPy
كيفية الحصول على صف معين من مجموعة NumPy

Add a Comment

ایمئیل یایینلانمایاجاق ایسته‎نیله‎ن بوشلوقلار خاللانمیشدیر *