في هذه المقالة ، أود التحدث عن العديد من وظائف Numpy التي أستخدمها لتحليل البيانات طوال الوقت. هذه ليست بأي حال قائمة شاملة ، لكنني أعتقد أن الأدوات التي سيتم مناقشتها ستكون مفيدة للجميع ، دون استثناء.
في مواجهة مهمة جديدة ، فكرت مرارًا وتكرارًا: "هذا شيء محدد إلى حد ما ، بالكاد توجد وظيفة مضمنة له." في حالة Numpy ، في كثير من الأحيان كنت مخطئا من الصواب.
ولكن دعنا نصل إلى هذه النقطة. خط الاستيراد الوحيد الذي نحتاجه:
أين ()
ترجع الدالة where () العناصر التي تحقق شرطًا معينًا. لنلقِ نظرة على مثال.
قم بإنشاء قائمة بالتصنيفات ( عشوائية ):
يمكنك الآن استخدام where () للعثور على تقديرات أكبر ، على سبيل المثال ، من 3:
يرجى ملاحظة أنه يتم إرجاع فهارس العناصر التي تم البحث عنها .
لكن هذا ، بالطبع ، ليس كل شيء ، يمكن أن تأخذ الدالة معلمتين اختياريتين:
- الأول سيحل محل القيم التي تفي بالشرط
- الثانية سوف تفعل هذا للقيم التي لا تلبي الشرط
نظرًا لأن المقصود من المقالة أن يكون موجزًا ، سنناقش هذا الأمر.
argmin () ، argmax () ، argsort ()
ترجع الدالة argmin () فهرس القيمة الدنيا. بالنسبة لنفس المجموعة من التصنيفات التي استخدمناها أعلاه ، ستكون النتيجة:
يقوم argmax () ، كما تخمينه ، بالعكس تمامًا - بإرجاع فهرس العنصر الأقصى:
سيُرجع آخر سلسلة وسيطات ثلاثية ( trinity ) قائمة بفهارس العناصر التي تم فرزها للصفيف. لا تنسى ذلك: سوف تواجه عددًا كبيرًا من المواقف عندما تحتاجها.
intersect1d ()
ترجع الدالة intersect1d () تقاطع صفيفين ، أي العناصر الفريدة الموجودة في كليهما. على عكس الأمثلة السابقة ، فإنه سيعود ليس المؤشرات ، ولكن القيم نفسها.
إنشاء صفيفين:
العثور على العناصر المشتركة:
allclose ()
أخيرًا ، ضع في الاعتبار وظيفة allclose () . سيعود صحيح إذا كانت عناصر المصفوفة متساوية ضمن التسامح. مرة أخرى ، ليس لديك أي فكرة عن عدد مرات الحاجة إلى ذلك عند التعامل مع البيانات.
سنعلن صفيفين ، والفرق بين العناصر المقابلة التي لا يزيد عن 0.2:
يجب أن ترجع الدالة allclose () مع تحمل تساوي 0.1 خطأ :
زيادة التسامح إلى 0.2 للحصول على المساواة التقريبية للصفائف:
فراق الكلمات
لا تحسب عدد المرات التي كنت فيها ( وكنت ) هي المسؤولة عن اختراع العجلة. غالبًا ما نعتقد أن مشكلتنا فريدة من نوعها ، ولم يفكر أحد في إنشاء أداة لحلها. يكون هذا صحيحًا في بعض الأحيان ، ولكن غالبًا ما تشعر أنك آخر أحمق ، فأنت تبحث عن وظيفة قياسية ملائمة بدلاً من الوظيفة التي قضيتها بالفعل في إنشاء الكثير من الوقت.
من الأفضل قضاء بعض الوقت في استكشاف إمكانيات المكتبات الشعبية ، لأنه بفضل هذه المكتبات أصبحت المكتبات شعبية.
شكرا للقراءة.