4 ميزات Numpy الرائعة التي أستخدمها باستمرار

في هذه المقالة ، أود التحدث عن العديد من وظائف Numpy التي أستخدمها لتحليل البيانات طوال الوقت. هذه ليست بأي حال قائمة شاملة ، لكنني أعتقد أن الأدوات التي سيتم مناقشتها ستكون مفيدة للجميع ، دون استثناء.



في مواجهة مهمة جديدة ، فكرت مرارًا وتكرارًا: "هذا شيء محدد إلى حد ما ، بالكاد توجد وظيفة مضمنة له." في حالة Numpy ، في كثير من الأحيان كنت مخطئا من الصواب.


ولكن دعنا نصل إلى هذه النقطة. خط الاستيراد الوحيد الذي نحتاجه:





أين ()


ترجع الدالة where () العناصر التي تحقق شرطًا معينًا. لنلقِ نظرة على مثال.


قم بإنشاء قائمة بالتصنيفات ( عشوائية ):



يمكنك الآن استخدام where () للعثور على تقديرات أكبر ، على سبيل المثال ، من 3:



يرجى ملاحظة أنه يتم إرجاع فهارس العناصر التي تم البحث عنها .


لكن هذا ، بالطبع ، ليس كل شيء ، يمكن أن تأخذ الدالة معلمتين اختياريتين:


  • الأول سيحل محل القيم التي تفي بالشرط
  • الثانية سوف تفعل هذا للقيم التي لا تلبي الشرط


نظرًا لأن المقصود من المقالة أن يكون موجزًا ​​، سنناقش هذا الأمر.




argmin () ، argmax () ، argsort ()


ترجع الدالة argmin () فهرس القيمة الدنيا. بالنسبة لنفس المجموعة من التصنيفات التي استخدمناها أعلاه ، ستكون النتيجة:



يقوم argmax () ، كما تخمينه ، بالعكس تمامًا - بإرجاع فهرس العنصر الأقصى:



سيُرجع آخر سلسلة وسيطات ثلاثية ( trinity ) قائمة بفهارس العناصر التي تم فرزها للصفيف. لا تنسى ذلك: سوف تواجه عددًا كبيرًا من المواقف عندما تحتاجها.





intersect1d ()


ترجع الدالة intersect1d () تقاطع صفيفين ، أي العناصر الفريدة الموجودة في كليهما. على عكس الأمثلة السابقة ، فإنه سيعود ليس المؤشرات ، ولكن القيم نفسها.


إنشاء صفيفين:



العثور على العناصر المشتركة:





allclose ()


أخيرًا ، ضع في الاعتبار وظيفة allclose () . سيعود صحيح إذا كانت عناصر المصفوفة متساوية ضمن التسامح. مرة أخرى ، ليس لديك أي فكرة عن عدد مرات الحاجة إلى ذلك عند التعامل مع البيانات.


سنعلن صفيفين ، والفرق بين العناصر المقابلة التي لا يزيد عن 0.2:



يجب أن ترجع الدالة allclose () مع تحمل تساوي 0.1 خطأ :



زيادة التسامح إلى 0.2 للحصول على المساواة التقريبية للصفائف:





فراق الكلمات


لا تحسب عدد المرات التي كنت فيها ( وكنت ) هي المسؤولة عن اختراع العجلة. غالبًا ما نعتقد أن مشكلتنا فريدة من نوعها ، ولم يفكر أحد في إنشاء أداة لحلها. يكون هذا صحيحًا في بعض الأحيان ، ولكن غالبًا ما تشعر أنك آخر أحمق ، فأنت تبحث عن وظيفة قياسية ملائمة بدلاً من الوظيفة التي قضيتها بالفعل في إنشاء الكثير من الوقت.


من الأفضل قضاء بعض الوقت في استكشاف إمكانيات المكتبات الشعبية ، لأنه بفضل هذه المكتبات أصبحت المكتبات شعبية.


شكرا للقراءة.

Source: https://habr.com/ru/post/ar480740/


All Articles