استخدام فهرسة المصفوفة الصحيحة لاستخراج العناصر بناءً على مؤشرات المصفوفة الثانوية
في السيناريو المحدد، الهدف هو استرداد عناصر محددة من المصفوفة A باستخدام المؤشرات المحددة في المصفوفة الثانية B. بدلاً من الاعتماد على np.take أو np.choose، هناك طريقة أكثر وضوحًا تتمثل في استخدام فهرسة مصفوفة الأعداد الصحيحة في NumPy:
A[np.arange(A.shape[0]),B.ravel()]
إليك كيفية تحقيق هذا الكود للنتيجة المرجوة:
هذا الأسلوب مفيد بشكل خاص عندما يكون B عبارة عن مصفوفة أحادية الأبعاد أو قائمة بمؤشرات الأعمدة. من خلال تخطي عملية التسطيح، يصبح الكود أكثر بساطة:
A[np.arange(A.shape[0]),B]
مثال:
A = np.array([[0, 1], [2, 3], [4, 5]]) B = np.array([1, 0, 1]) result = A[np.arange(A.shape[0]), B] print(result) # Output: [1, 2, 5]
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3