إضافة صفوف إجمالي ونسبة في نهاية DataFrame باستخدام Polars
في عالم تحليل البيانات، تعتبر المكتبات مثل Polars أداة قوية تساعد المحللين والمطورين في التعامل مع البيانات بكفاءة وفعالية. يعد إضافة صفوف جديدة إلى DataFrame، خاصة تلك التي تحتوي على إجماليات ونسب مئوية، من العمليات الأساسية التي يحتاج المستخدمون إلى فهم كيفية تنفيذها. في هذا المقال، سنناقش كيفية استخدام لغة Python مع مكتبة Polars لإضافة صفين في نهاية DataFrame، أحدهما يمثل إجماليات الأعمدة والآخر يمثل النسب المئوية لتلك الإجماليات. سنلقي نظرة على مثال تطبيق عملي، مما سيساعدك على فهم كيفية استخدام هذه التقنية الثمينة.
الإعداد الأولي للبيانات باستخدام Polars
لنبدأ بإنشاء DataFrame بسيط باستخدام Polars. يمكن استخدام الكود التالي لهذا الغرض:
import polars as pl
df = pl.DataFrame({
"Col Ind": ['A', 'B', 'C', 'D', 'E'],
"Col A": [1, 2, 3, 4, 5],
"Col B": [2, 4, 6, 8, 10],
"Col C": [1, 3, 5, 7, 9],
"Col D": [5, 4, 3, 2, 1]
})
داخل هذا الـ DataFrame، لدينا مجموعة من البيانات المرتبة في أعمدة مختلفة. الخطوة التالية هي حساب الإجماليات.
إضافة صف الإجماليات
لإضافة صف الإجماليات، يمكننا استخدام دالة select
مع sum
كما يلي:
totals = df.select(
pl.lit("Total").alias("Col Ind"),
pl.exclude("Col Ind").sum()
)
بهذه الطريقة، نقوم بحساب إجمالي كل عمود مع استبعاد العمود المسمى "Col Ind".
إضافة صف النسب المئوية
بعد ذلك، علينا حساب النسب المئوية. يمكن أن يتم ذلك عن طريق أخذ كل عمود، ثم قسمته على الإجمالي الكلي وضربه في 100. إليك كيفية القيام بذلك:
percentages = totals.select(
pl.lit("Percentage").alias("Col Ind"),
((pl.exclude("Col Ind") * 100) / pl.sum_horizontal(pl.exclude("Col Ind"))).cast(pl.Int64)
)
في هذه الخطوة، نحن نحسب النسب المئوية لكل عمود باستخدام القيم الإجمالية.
دمج البيانات النهائية في DataFrame
الآن بعد أن حسبنا صف الإجماليات وصف النسب المئوية، يمكننا دمج تلك البيانات مع DataFrame الأصلي. نستخدم دالة concat
لهذا الغرض:
result = pl.concat([df, totals, percentages], how="vertical")
الآن لدينا DataFrame يحتوي على جميع البيانات الضرورية: القيم الأصلية، والإجماليات، والنسب المئوية.
نظرة عامة على النتائج النهائية
بعد الدمج، سيكون شكل البيانات كما يلي:
┌─────────┬─────┬─────┬─────┬─────┐
│ Col Ind │ Col A │ Col B │ Col C │ Col D │
│ --- │ --- │ --- │ --- │ --- │
│ str │ i64 │ i64 │ i64 │ i64 │
╞═════════╪═══════╪═══════╪═══════╪═══════╡
│ A │ 1 │ 2 │ 1 │ 5 │
│ B │ 2 │ 4 │ 3 │ 4 │
│ C │ 3 │ 6 │ 5 │ 3 │
│ D │ 4 │ 8 │ 7 │ 2 │
│ E │ 5 │ 10 │ 9 │ 1 │
│ Total │ 15 │ 30 │ 25 │ 15 │
│ Percentage │ 17 │ 35 │ 29 │ 17 │
└─────────┴─────┴─────┴─────┴─────┘
الخاتمة
في الختام، عملية إضافة صفوف جديدة في DataFrame مع حساب الإجماليات والنسب المئوية باستخدام Polars تعد من الخطوات الأساسية التي يجب على المستخدمين إتقانها. يوفر كل من Python وPolars أدوات قوية لذلك، مما يجعل تحليل البيانات أكثر سهولة ويتيح لنا الوصول إلى رؤى قيمة من البيانات. إذا كنت تمتلك بيانات متعددة وتنوي تحليلها، فإن هذه الطريقة تعتبر مثالية لإجراء العمليات الحسابية الأساسية بطريقة مباشرة وسلسة.
باستخدام هذه الخطوات، نكون قد تعلمنا كيفية استخدام PyPolars بطريقة عملية لتحقيق هدف محدد، وهو إضافة صفوف للإجماليات والنسب المئوية في نهاية DataFrame. هذه المهارة ستكون مفيدة في مختلف مجالات تحليل البيانات وستساعدك في جعل التعامل مع البيانات أكثر تنظيماً وفعالية.