إليك لماذا Pandas هي مكتبة تحليل بيانات Python الأكثر شيوعًا

Pandas هي مكتبة تحليل البيانات الأكثر شيوعًا في Python. يتم استخدامه على نطاق واسع من قبل محللي البيانات وعلماء البيانات ومهندسي التعلم الآلي.

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

في هذه المقالة ، سوف نستكشف Pandas والميزات التي تجعلها شائعة جدًا في نظام البيانات البيئي.

ما هو الباندا؟

Pandas هي مكتبة لتحليل البيانات لبايثون. هذا يعني أنه يتم استخدامه للعمل مع البيانات ومعالجتها من داخل كود Python الخاص بك. باستخدام Pandas ، يمكنك قراءة البيانات ومعالجتها وتصورها وتحليلها وتخزينها بكفاءة.

يأتي اسم “Pandas” من الانضمام إلى الكلمات Panel Data ، وهو مصطلح في الاقتصاد القياسي يشير إلى البيانات التي تم الحصول عليها من مراقبة العديد من الأفراد بمرور الوقت. تم إصدار Pandas في الأصل في يناير 2008 بواسطة Wes Kinney ، ومنذ ذلك الحين نمت لتصبح المكتبة الأكثر شعبية لحالة استخدامها.

يوجد في قلب Pandas هيكلان أساسيان للبيانات يجب أن تكون على دراية بهما ، Dataframes و Series. عند إنشاء مجموعة بيانات أو تحميلها في Pandas ، يتم تمثيلها كواحد من بنيتي البيانات هاتين.

في القسم التالي ، سوف نستكشف ماهيتها ، وكيف تختلف ، ومتى تستخدم أيًا منها بشكل مثالي.

هياكل البيانات الرئيسية

كما ذكرنا سابقًا ، يتم تمثيل جميع البيانات في Pandas باستخدام أحد بنيتي البيانات ، وهما Dataframe أو سلسلة. يتم شرح هيكلي البيانات هذين بالتفصيل أدناه.

إطار البيانات

تم إنشاء مثال إطار البيانات هذا باستخدام مقتطف الشفرة في الجزء السفلي من هذا القسم

إن إطار البيانات في Pandas عبارة عن هيكل بيانات ثنائي الأبعاد يحتوي على أعمدة وصفوف. إنه مشابه لجدول بيانات في تطبيق جدول البيانات الخاص بك أو جدول في قاعدة بيانات علائقية.

يتكون من أعمدة ، ويمثل كل عمود سمة أو ميزة في مجموعة البيانات الخاصة بك. ثم تتكون هذه الأعمدة من قيم فردية. يتم تمثيل هذه القائمة أو سلسلة القيم الفردية ككائنات سلسلة. سنناقش بنية بيانات السلسلة بمزيد من التفصيل لاحقًا في هذه المقالة.

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

  كيفية إخفاء تفاصيل استخدام البيانات في T-Mobile

يجب أن تكون القيم الموجودة في العمود من نفس نوع البيانات ، على الرغم من أن الأعمدة لا تحتاج إلى الاحتفاظ ببيانات من نفس النوع. هذا يعني أن عمود الاسم في مجموعة البيانات سيخزن السلاسل حصريًا. لكن يمكن أن تحتوي مجموعة البيانات نفسها على أعمدة أخرى مثل العمر الذي يخزن ints.

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

import pandas as pd

sales_df = pd.DataFrame({
    'Month': ['January', 'February', 'March'],
    'Jane Doe': [5000, 6000, 5500],
    'John Doe': [4500, 6700, 6000]
})

sales_df.set_index(['Month'], inplace=True)

print(sales_df)

مسلسل

تم إنتاج سلسلة الأمثلة هذه باستخدام الكود الموجود أسفل هذا القسم

كما تمت مناقشته سابقًا ، تُستخدم السلسلة لتمثيل عمود من البيانات في Pandas. وبالتالي ، فإن السلسلة هي بنية بيانات أحادية البعد. هذا على عكس Dataframe ثنائي الأبعاد.

على الرغم من استخدام السلسلة بشكل شائع كعمود في Dataframe ، إلا أنها يمكن أن تمثل أيضًا مجموعة بيانات كاملة بمفردها ، بشرط أن تحتوي مجموعة البيانات على سمة واحدة فقط يتم تسجيلها في عمود واحد. أو بالأحرى ، فإن مجموعة البيانات هي مجرد قائمة من القيم.

نظرًا لأن السلسلة هي مجرد عمود واحد ، فلا يلزم أن يكون لها اسم. ومع ذلك ، يتم فهرسة القيم الموجودة في السلسلة. مثل فهرس Dataframe ، يمكن تعديل إطار البيانات لسلسلة من الترقيم الافتراضي.

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

import pandas as pd

total_sales = pd.Series([9500, 12700, 11500])
months = ['January', 'February', 'March']

total_sales = total_sales.set_axis(months)

print(total_sales)

ملامح الباندا

الآن بعد أن أصبحت لديك فكرة جيدة عن ماهية Pandas وهياكل البيانات الرئيسية التي تستخدمها ، يمكننا البدء في مناقشة الميزات التي تجعل Pandas مكتبة قوية لتحليل البيانات ، ونتيجة لذلك ، تحظى بشعبية كبيرة في علوم البيانات والتعلم الآلي النظم البيئية.

# 1. معالجة البيانات

كائنات Dataframe و Series قابلة للتغيير. يمكنك إضافة أو إزالة الأعمدة حسب الحاجة. بالإضافة إلى ذلك ، يتيح لك Pandas إضافة صفوف وحتى دمج مجموعات البيانات.

يمكنك إجراء حسابات عددية ، مثل تسوية البيانات وإجراء مقارنات منطقية من حيث العناصر. يتيح لك Pandas أيضًا تجميع البيانات وتطبيق وظائف مجمعة مثل المتوسط ​​والمتوسط ​​والحد الأقصى والحد الأدنى. هذا يجعل العمل مع البيانات في Pandas نسيمًا.

  ما هو التشفير الخلفي؟

# 2. تنظيف البيانات

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

لدى Pandas وظائف لمساعدتك على تنظيف بياناتك. على سبيل المثال ، في Pandas ، يمكنك حذف الصفوف المكررة وإسقاط الأعمدة أو الصفوف التي تحتوي على بيانات مفقودة واستبدال القيم إما بالقيم الافتراضية أو ببعض القيم الأخرى ، مثل متوسط ​​العمود. هناك المزيد من الوظائف والمكتبات التي تعمل مع Pandas لتمكينك من القيام بالمزيد من تنظيف البيانات.

# 3. عرض مرئي للمعلومات

تم إنشاء هذا الرسم البياني مع الكود الموجود أسفل هذا القسم

على الرغم من أنها ليست مكتبة تصور مثل Matplotlib ، إلا أن Pandas لديها وظائف لإنشاء تصورات البيانات الأساسية. وعلى الرغم من أنها أساسية ، إلا أنهم ما زالوا ينجزون المهمة في معظم الحالات.

باستخدام Pandas ، يمكنك بسهولة رسم المخططات الشريطية والمدرج التكراري والمصفوفات المبعثرة وأنواع أخرى مختلفة من المخططات. ادمج ذلك مع بعض عمليات التلاعب بالبيانات التي يمكنك القيام بها في Python ، ويمكنك إنشاء تصورات أكثر تعقيدًا لفهم بياناتك بشكل أفضل.

import pandas as pd

sales_df = pd.DataFrame({
    'Month': ['January', 'February', 'March'],
    'Jane Doe': [5000, 6000, 5500],
    'John Doe': [4500, 6700, 6000]
})

sales_df.set_index(['Month'], inplace=True)

sales_df.plot.line()

# 4. تحليل السلاسل الزمنية

يدعم Pandas أيضًا العمل مع البيانات ذات الطابع الزمني. عندما يتعرف Pandas على عمود على أنه يحتوي على قيم تاريخ / وقت ، يمكنك إجراء العديد من العمليات على نفس العمود والتي تكون مفيدة عند التعامل مع بيانات السلاسل الزمنية.

يتضمن ذلك تجميع الملاحظات حسب الفترة الزمنية وتطبيق وظائف مجمعة عليها ، مثل المجموع أو المتوسط ​​أو الحصول على الملاحظات الأقدم أو الأحدث باستخدام min و max. هناك ، بالطبع ، العديد من الأشياء التي يمكنك القيام بها باستخدام بيانات السلاسل الزمنية في Pandas.

# 5. الإدخال / الإخراج في الباندا

Pandas قادر على قراءة البيانات من أكثر تنسيقات تخزين البيانات شيوعًا. يتضمن ذلك JSON و SQL Dumps و CSVs. يمكنك أيضًا كتابة البيانات إلى ملفات بالعديد من هذه التنسيقات.

  13 مقلاة هوائية للشراء للحصول على وجبات صحية مقلية

تسمح هذه القدرة على القراءة والكتابة إلى تنسيقات ملفات البيانات المختلفة لـ Pandas بالتعامل بسلاسة مع التطبيقات الأخرى وإنشاء خطوط بيانات تتكامل بشكل جيد مع Pandas. هذا هو أحد أسباب استخدام Pandas على نطاق واسع من قبل العديد من المطورين.

# 6. التكامل مع المكتبات الأخرى

تمتلك Pandas أيضًا نظامًا بيئيًا غنيًا من الأدوات والمكتبات المبنية فوقه لاستكمال وظائفها. هذا يجعلها مكتبة أكثر قوة وفائدة.

تعمل الأدوات الموجودة في نظام Pandas البيئي على تحسين وظائفها عبر مجالات مختلفة ، بما في ذلك تنظيف البيانات ، والتصور ، والتعلم الآلي ، والإدخال / الإخراج ، والتوازي. تحتفظ Pandas بسجل لهذه الأدوات في وثائقها.

اعتبارات الأداء والكفاءة في الباندا

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

تم بناء Pandas على NumPy ، مكتبة Python الشهيرة للحسابات الرقمية والعلمية. لذلك ، مثل NumPy ، تعمل Pandas بشكل أكثر كفاءة عندما يتم توجيه العمليات بدلاً من انتقاء الخلايا أو الصفوف الفردية باستخدام الحلقات.

التوجيه هو شكل من أشكال الموازاة حيث يتم تطبيق نفس العملية على نقاط بيانات متعددة في وقت واحد. يشار إلى هذا باسم SIMD – تعليمات فردية ، بيانات متعددة. ستؤدي الاستفادة من العمليات الموجهة إلى تحسين سرعة وأداء الباندا بشكل كبير.

نظرًا لأنهم يستخدمون مصفوفات NumPy تحت الغطاء ، فإن هياكل البيانات DataFrame و Series تكون أسرع من القواميس والقوائم البديلة.

يعمل تطبيق Pandas الافتراضي على نواة واحدة فقط لوحدة المعالجة المركزية. هناك طريقة أخرى لتسريع التعليمات البرمجية وهي استخدام المكتبات التي تمكّن Pandas من الاستفادة من جميع نوى وحدة المعالجة المركزية المتاحة. وتشمل هذه Dask و Vaex و Modin و IPython.

المجتمع والموارد

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

هناك أيضًا مجتمعات عبر الإنترنت على منصات مثل Reddit في r / Python و r / Data Science subreddits لطرح الأسئلة والحصول على إجابات. نظرًا لكونك مكتبة مفتوحة المصدر ، يمكنك الإبلاغ عن المشكلات على GitHub وحتى المساهمة في التعليمات البرمجية.

الكلمات الأخيرة

تعد Pandas مفيدة وقوية بشكل لا يصدق كمكتبة لعلوم البيانات. في هذه المقالة ، حاولت شرح شعبيتها من خلال استكشاف الميزات التي تجعلها أداة الانتقال لعلماء البيانات والمبرمجين.

بعد ذلك ، تحقق من كيفية إنشاء Pandas DataFrame.