Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

فهرسة المصفوفات

الدرس 12 من 18 في دورة أساسيات Numpy على Coddy.

ميزة رائعة أخرى في Numpy هي القدرة على تحديد فهارس (indices) معينة من المصفوفة. ضع List داخل الأقواس [] وحدد الفهارس التي تريد اختيارها: ary[indices] 

مثال 1

استرجاع العناصر 0th, 2nd, 4th:

x = np.arange(5, 15) # np.array([5, 6, 7, 8, 9, 10, 11, 12, 13, 14])
x[[0, 2, 4]]
>>> [5, 7, 9]

مثال 2

استرجاع العنصر الأول والأخير (ولكن هذه المرة من مصفوفة ثنائية الأبعاد 2D array)

x = np.array([[0, 1], [2, 3], [4, 5], [6, 7]])
x[[0, -1]]
>>> [[0, 1], [6, 7]]

ماذا عن جلب عناصر محددة من مصفوفة ثنائية الأبعاد؟

نستخدم ary[[Row indices], [Element indices]]

مثال 3

استرجاع العنصر الأول والأخير من الصفين 2nd و 3rd

x = np.array([
	[ 0,  1,  2,  3,  4,  5],
	[ 6,  7,  8,  9, 10, 11],
	[12, 13, 14, 15, 16, 17],
	[18, 19, 20, 21, 22, 23],
])
x[[1, 1, 2, 2], [0, -1, 0, -1]]
>>> [6, 11, 12, 17]

ماذا حدث؟

ينظر Numpy إلى الفهرس المقابل لكل قائمة داخل القوس [] ويعيد العنصر:

x[[1, 1, 2, 2], [0, -1, 0, -1]]

  • x[1, 0]  # --> 6
  • x[1, -1] # --> 11
  • x[2, 0]  # --> 12
  • x[2, -1] # --> 17

كيف يمكن الحصول على الفهرس الأول والأخير من جميع الصفوف؟

quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

challenge icon

التحدي

سهل

بفرض وجود مصفوفة ثنائية الأبعاد ary، استرجع جميع الأرقام التي تقبل القسمة على خمسة بدون باقٍ (0, 5, 10, ...) باستخدام الطرق التي تعلمناها في هذا الدرس.

جرّب بنفسك

import numpy as np
'''
ary looks like:
array([[ 0,  1,  2,  3,  4],
       [ 5,  6,  7,  8,  9],
       [10, 11, 12, 13, 14],
       [15, 16, 17, 18, 19]])
'''
ary = np.arange(0, 20).reshape(4, 5)  # don't change ary
res = ary[]  # <-- Complete indices
print(str(res).replace("\n", ""))  # don't change this line

جميع دروس أساسيات Numpy