الفهرسة الأساسية
الدرس 10 من 18 في دورة أساسيات Numpy على Coddy.
يمكن فهرسة مصفوفات Numpy أحادية الأبعاد بنفس طريقة فهرسة قوائم بايثون (python lists):
فهرسة قوائم بايثون:
lst = [1, 2, 3, 4]
lst[1] # --> 2فهرسة مصفوفات Numpy:
ary = np.array([1, 2, 3, 4])
ary[1] # --> 2لكن الأمور تصبح أكثر إثارة مع الأبعاد الأكبر.
فهرسة قوائم بايثون ثنائية الأبعاد:
lst = [[1, 2], [3, 4]]
lst[0][1] # --> 2فهرسة مصفوفات Numpy ثنائية الأبعاد:
ary = np.array([[1, 2], [3, 4]])
ary[0,1] # --> 2 لاحظ الفرق: ary[0,1]، lst[0][1]
يمكننا استخدام نفس صيغة القوائم مع مصفوفات Numpy: ary[0][1] ولكنها غير فعالة ومن الأفضل استخدام: ary[0, 1]
تعتبر
ary[0][1]أقل كفاءة لأنه يتم إنشاء مصفوفة مؤقتة جديدة بعد الفهرس الأول، والتي يتم فهرستها لاحقاً بواسطة 1.
كيفية فهرسة مصفوفة ثلاثية الأبعاد؟
ary = np.array([
[[1], [2]],
[[3], [4]]
])
ary[0, 0, 0] # --> 1
ary[0, 1, 0] # --> 2
ary[1, 0, 0] # --> 3
ary[1, 1, 0] # --> 4يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
التحدي
سهلاسترجع العنصر (باستخدام الفهرسة) الذي يحتوي على القيمة 5 من المصفوفة ثلاثية الأبعاد ary
جرّب بنفسك
import numpy as np
ary = np.array([ [ [ 0, 1 ], [ 2, 3 ] ], [ [ 4, 5 ], [ 6, 7 ] ] ])
res = ary[] # <-- Complete the indexing
print(res) # Don't touch
جميع دروس أساسيات Numpy
2إنشاء مصفوفات N-Dimensional
أبعاد أعلىفهم الأشكالالتعبئة بقيم ثابتةأنواع Numpyالمدى (Range)إعادة التشكيل (Reshape)3فهرسة مصفوفات Numpy
الفهرسة الأساسيةالتقطيع (Slicing)فهرسة المصفوفاتالفهرسة البعديةالفهرسة المنطقية (Boolean)الفهرسة بشروط متعددة