كيفية إنشاء عداد أو معرف للمجموعات في Polars باستخدام بايثون
في عالم تحليل البيانات، تعتبر مكتبة Polars واحدة من الأدوات القوية المستخدمة في تحليل البيانات بطريقة فعالة وسريعة. إذا كنت تبحث عن طريقة لإنشاء عداد للمجموعات أو معرف مجموعة باستخدام Polars في Python، فأنت في المكان الصحيح. سنتناول في هذا المقال كيفية القيام بذلك بطريقة سهلة وسلسة، مع الأخذ في الاعتبار الحفاظ على ترتيب البيانات الأصلي.
إنشاء معرف مجموعة في Polars
لإنشاء معرف مجموعة أو عداد للمجموعات في Polars، تبدأ أولاً بإنشاء إطار بيانات DataFrame يحتوي على الأعمدة التي تحتاجها. على سبيل المثال، نفترض أن لديك DataFrame بسيط يحتوي على عمودين: col1
و col2
.
import polars as pl
df = pl.DataFrame({
'col1': ['A', 'A', 'A', 'B'],
'col2': ['Z', 'Y', 'Z', 'Z']
})
بعد ذلك، يمكنك الحصول على قائمة من الأزواج الفريدة بين col1
و col2
مع فهرس صف مخصص. يمكن ذلك عبر استخدام الدالة unique()
بالإضافة إلى with_row_index()
.
unique_pairs = df.select(['col1', 'col2']).unique().with_row_index(name="group")
هنا، يتم إنشاء DataFrame جديد يحتوي على أزواج القيم الفريدة الموجودة في col1
و col2
، مع إضافة عمود جديد يمثل معرف المجموعة.
دمج البيانات للحصول على النتائج النهائية
للحصول على النتائج النهائية ودمجها مع DataFrame الأصلي، يمكنك استخدام دالة join()
لربط DataFrame الأصلي مع DataFrame العائدي للأزواج الفريدة.
df_with_group = df.join(unique_pairs, on=['col1', 'col2'])
print(df_with_group)
ستحصل على DataFrame جديد يحتوي على الأعمدة الأصلية بالإضافة إلى عمود المعرفة الجديد:
shape: (4, 3)
┌──────┬────┬───────┐
│ col1 ┆ col2 ┆ group │
│ --- ┆ --- ┆ --- │
│ str ┆ str ┆ u32 │
╞══════╪════╪═══════╡
│ --- ┆ --- ┆ --- │
│ --- ┆ --- ┆ --- │
│ --- ┆ --- ┆ --- │
│ --- ┆ --- ┆ --- │
├──────┼────┼───────┤
│ A ┆ Y ┆ 0 │
│ A ┆ Z ┆ 1 │
│ B ┆ Z ┆ 2 │
└──────┴────┴───────┘
حفاظ على ترتيب البيانات الأصلية
إذا كان لديك رغبة في الحفاظ على ترتيب البيانات كما هي في DataFrame الأصلي، يمكنك تفعيل خاصية maintain_order=True
عند استخدام الدالة unique()
:
unique_pairs = (
df.select(['col1', 'col2'])
.unique(maintain_order=True)
.with_row_index(name="group")
)
بهذه الطريقة، سيكون لديك مخرجات تتطابق مع ترتيب ظهور البيانات الأولى، مما يسهل عليك التعامل مع النتائج.
العمليات التجميعية باستخدام Polars
إذا كان الغرض من إنشاء معرف المجموعة هو تنفيذ عمليات تجميعية لاحقاً، يمكنك استخدام وظائف التجميع الخاصة بـ Polars مباشرةً. هذا يمكن أن يكون أكثر فعالية، حيث يمكنك تجميع البيانات في خطوة واحدة. مثلاً، باستخدام دالة group_by()
يمكنك تجميع البيانات وحساب القيم الإحصائية مثل المتوسط والمجموع:
grouped_df = df.group_by(['col1', 'col2'], keep_order=True).agg([
pl.col('values').sum().alias('sum_values'),
pl.col('values').mean().alias('mean_values'),
pl.col('values').count().alias('count_values')
])
print(grouped_df)
هذا سيوفر لك نتائج تجميعية مثل مجموع القيم والمتوسط وعدد القيم لكل مجموعة.
خاتمة
إن استخدام مكتبة Polars في Python لإنشاء معرفات مجموعات يمكن أن يكون أداة قوية عند تحليل البيانات. من خلال الخطوات التي تناولناها، يمكنك بسهولة العمل مع البيانات وتنفيذ التحليلات المطلوبة. سواء كنت بحاجة إلى الاحتفاظ بترتيب البيانات أو إجراء عمليات تجميعية، يقدم Polars الحلول الفعالة لكل احتياجاتك. باستخدام تقنيات مثل unique
وgroup_by
، فإنك تكتسب القدرة على استغلال الأدوات لجعل البيانات أكثر فائدة لك.