logo

numpy.unique() في بايثون

توفر الوحدة النمطية numpy في Python وظيفة للعثور على عناصر فريدة في مصفوفة numpy. تقوم الدالة numpy.unique()‎ بالبحث عن العناصر الفريدة لمصفوفة وإرجاع هذه العناصر الفريدة كمصفوفة مرتبة. وبصرف النظر عن العناصر الفريدة، هناك بعض المخرجات الاختيارية أيضًا، وهي كما يلي:

  • يمكن أن يكون الإخراج عبارة عن مؤشرات لمصفوفة الإدخال التي تعطي القيم الفريدة
  • يمكن أن يكون الإخراج مؤشرات المصفوفة الفريدة التي تعيد بناء مصفوفة الإدخال
  • يمكن أن يكون الإخراج عبارة عن مصفوفة لعدد المرات التي تأتي فيها كل قيمة فريدة في مصفوفة الإدخال.

بناء الجملة

 numpy.unique(a, return_index=False, return_inverse=False, return_counts=False, axis=None) 

حدود

هذه هي المعلمات التالية في الدالة numpy.mean():

ج: array_like

تحدد هذه المعلمة المصفوفة المصدر التي تحتوي على العناصر ذات القيم الفريدة المطلوبة. سيتم تسوية المصفوفة إذا لم تكن مصفوفة أحادية الأبعاد.

مؤشر الإرجاع: منطقي (اختياري)

عدد صحيح للسلسلة في Java

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

return_inverse: منطقي (اختياري)

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

عدد الإرجاعات: منطقي (اختياري)

إذا تم تعيين هذه المعلمة على True، فسوف تقوم الدالة بإرجاع عدد المرات التي ظهر فيها كل عنصر فريد في مصفوفة الإدخال 'a'.

المحور: int أو لا شيء (اختياري)

تحدد هذه المعلمة المحور الذي سيتم العمل عليه. إذا لم يتم تعيين هذه المعلمة، فسيتم تسوية المصفوفة 'a'. إذا كانت هذه المعلمة عددًا صحيحًا، فسيتم تسوية المصفوفات الفرعية المفهرسة بواسطة المحور المحدد ومعاملتها كعنصر في مصفوفة أحادية الأبعاد بأبعاد المحور المحدد. لا يتم دعم المصفوفات المنظمة أو صفائف الكائنات التي تحتوي على كائنات في حالة استخدام المحور 'kwarg'.

عائدات

تقوم هذه الدالة بإرجاع أربعة أنواع من المخرجات وهي كما يلي:

فريدة من نوعها: ndarray

في هذا الإخراج، سيتم عرض ndarray الذي يحتوي على قيم فريدة مرتبة.

طاولة اللاتكس

المؤشرات الفريدة: ndarray (اختياري)

في هذا الإخراج، سيتم عرض ndarray الذي يحتوي على مؤشرات التواجدات الأولى للقيم الفريدة في الصفيف الأصلي. يتم توفير هذا الإخراج فقط إذا كانت قيمة return_index صحيحة.

Unique_inverse: ndarray (اختياري)

في هذا الإخراج، سيتم عرض ndarray الذي يحتوي على المؤشرات لإعادة بناء المصفوفة الأصلية من المصفوفة الفريدة. يتم توفير هذا الإخراج فقط إذا كانت قيمة return_inverse صحيحة.

Unique_counts: ndarray (اختياري)

في هذا الإخراج، سيتم عرض ndarray الذي يحتوي على عدد المرات التي تظهر فيها كل من القيم الفريدة في المصفوفة الأصلية. يتم توفير هذا الإخراج فقط إذا كانت قيمة return_counts صحيحة.

سلسلة جافا العكسية

مثال 1:

 import numpy as np a=np.unique([1,2,3,4,3,6,2,4]) a 

انتاج:

 array([1, 2, 3, 4, 6]) 

في الكود أعلاه

  • لقد قمنا باستيراد numpy بالاسم المستعار np.
  • لقد أعلنا عن المتغير 'a' وقمنا بتعيين القيمة المعادة للدالة np.unique().
  • لقد تجاوزنا عدد العناصر في الوظيفة.
  • وأخيرًا، حاولنا طباعة قيمة 'a'.

في الإخراج، تم عرض ndarray، الذي يحتوي على عناصر فريدة.

مثال 2:

 a=np.array([[1,2,2,3,9],[1,4,3,5,8]]) a b=np.unique(a) b 

انتاج:

 array([[1, 2, 2, 3, 9], [1, 4, 3, 5, 8]]) array([1, 2, 3, 4, 5, 8, 9]) 

مثال 3:

 import numpy as np a = np.array([[1, 1, 0], [1, 1, 0], [2, 3, 4],[5, 9, 8],[2, 3, 4]]) a b=np.unique(a, axis=0) b 

انتاج:

 array([[1, 1, 0], [1, 1, 0], [2, 3, 4], [5, 9, 8], [2, 3, 4]]) array([[1, 1, 0], [2, 3, 4], [5, 9, 8]]) 

في الكود أعلاه

  • لقد قمنا باستيراد numpy بالاسم المستعار np.
  • لقد أنشأنا مصفوفة متعددة الأبعاد 'أ'.
  • لقد أعلنا عن المتغير 'b' وقمنا بتعيين القيمة المعادة للدالة np.unique().
  • لقد مررنا المصفوفة متعددة الأبعاد 'a' والمحور كـ 0 في الوظيفة.
  • وأخيرًا، حاولنا طباعة قيمة 'b'.

في المخرجات، تم عرض ndarray الذي يحتوي على صفوف فريدة من المصفوفة المصدر 'a'.

الأخوة كايلي جينر

مثال 4:

 import numpy as np a = np.array([[1, 1, 0], [1, 1, 0], [2, 2, 4],[5, 5, 8],[2, 2, 4]]) a b=np.unique(a, axis=1) b 

انتاج:

 array([[1, 1, 0], [1, 1, 0], [2, 2, 4], [5, 5, 8], [2, 2, 4]]) array([[0, 1], [0, 1], [4, 2], [8, 5], [4, 2]]) 

ملاحظة: عندما نقوم بتعيين المحور كـ 1، تقوم هذه الدالة بإرجاع الأعمدة الفريدة من المصفوفة المصدر.

مثال 5: استخدم return_index

 import numpy as np a = np.array(['d', 'b', 'b', 'z', 'a']) result, indices=np.unique(a,return_index=True) result indices a[indices] 

انتاج:

 array(['a', 'b', 'd', 'z'], dtype='|S1') array([4, 1, 0, 3], dtype=int64) array(['a', 'b', 'd', 'z'], dtype='|S1') 

في الكود أعلاه

  • لقد قمنا باستيراد numpy بالاسم المستعار np.
  • لقد أنشأنا مصفوفة 'أ'.
  • لقد أعلنا عن المتغيرين 'result' و'indices' وقمنا بتعيين القيمة المعادة للدالة np.unique().
  • لقد مررنا المصفوفة 'a' وقمنا بتعيين return_index على True في الوظيفة.
  • وأخيرًا، حاولنا طباعة قيمة 'النتيجة' و'المؤشرات' وعناصر المصفوفة، والتي تشير إلى الفهارس ('أ [المؤشرات]').

في الإخراج، تم عرض ndarray الذي يحتوي على مؤشرات المصفوفة الأصلية التي تعطي قيمًا فريدة.

مثال 6: استخدم return_inverse

يمكننا إعادة بناء مصفوفة الإدخال من القيم الفريدة بالطريقة التالية:

 import numpy as np a = np.array([1, 2, 6, 4, 5, 3, 2]) result, indices=np.unique(a,return_inverse=True) result indices a[indices] 

انتاج:

 array([1, 2, 3, 4, 5, 6]) array([0, 1, 5, 3, 4, 2, 1], dtype=int64) array([1, 2, 3, 4, 5, 6, 2])