كيفية العثور على قيم فريدة في أعمدة متعددة في pandas
غالبًا ما قد ترغب في العثور على جميع القيم الفريدة عبر أعمدة متعددة في pandas DataFrame. لحسن الحظ، من السهل القيام بذلك باستخدام الدالة pandas Unique() مع الدالة ravel() :
- Unique() : تقوم بإرجاع القيم الفريدة بترتيب المظهر.
- ravel(): تقوم بإرجاع سلسلة من البيانات المسطحة.
على سبيل المثال، لنفترض أن لدينا DataFrame الباندا التالية:
import pandas as pd #createDataFrame df = pd.DataFrame({'col1': ['a', 'b', 'c', 'd', 'e'], 'col2': ['a', 'c', 'e', 'f', 'g'], 'col3': [11, 8, 10, 6, 6]}) #view DataFrame print(df) col1 col2 col3 0 aa 11 1 bc 8 2 this 10 3 df 6 4 eg 6
إرجاع مجموعة من القيم الفريدة
يوضح الكود التالي كيفية العثور على قيم فريدة في col1 و col2 :
p.d. unique (df[[' col1 ', ' col2 ']]. values . ravel ()) array(['a', 'b', 'c', 'e', 'd', 'f', 'g'], dtype=object)
من النتيجة يمكننا أن نرى أن هناك 7 قيم فريدة في هذين العمودين: a، b، c، d، e، f، g .
إرجاع DataFrame للقيم الفريدة
إذا كنت تريد إرجاع هذه القيم على هيئة DataFrame بدلاً من المصفوفة، فيمكنك استخدام الكود التالي:
unique = pd. unique (df[[' col1 ', ' col2 ']]. values . ravel ()) p.d. DataFrame (unique) 0 0 a 1b 2 tbsp 3rd 4 d 5f 6g
إرجاع عدد القيم الفريدة
إذا كنت تريد فقط معرفة عدد القيم الفريدة عبر أعمدة متعددة، فيمكنك استخدام الكود التالي:
unique = pd. unique (df[[' col1 ', ' col2 ']]. values . ravel ()) len (unique) 7
يخبرنا هذا أن هناك 7 قيم فريدة في هذين العمودين.
مصادر إضافية
كيفية دمج Pandas DataFrames عبر أعمدة متعددة
كيفية تصفية Pandas DataFrame بشروط متعددة