اذهب إلى المحتوى
  • 0

ما هي الاختلافات بين Pandas و NumPy + SciPy في Python؟

Amer Abdallah

السؤال

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

وإن كان هناك إختلافات فمتى أستخدم كلًا منهما؟

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 2
  • pandas: إنها مكتبة مفتوحة المصدر ومرخصة من BSD مكتوبة بلغة Python. توفر Pandas هياكل بيانات وأدوات تحليل بيانات عالية الأداء وسريعة وسهلة الاستخدام لمعالجة البيانات الرقمية والسلاسل الزمنية. تم إنشاء Pandas على مكتبة numpy ومكتوبة بلغات مثل Python و Cython و C. في الباندا ، يمكننا استيراد البيانات من تنسيقات ملفات مختلفة مثل JSON و SQL و Microsoft Excel وما إلى ذلك. مثال:
# استيراد المكتبة
import pandas as pd
# تهيئة وإنشاء قائمة متداخلة
age = [['Aman', 95.5, "Male"], ['Sunny', 65.7, "Female"],
	['Monty', 85.1, "Male"], ['toni', 75.4, "Male"]]
#DataFrame إنشاء 
df = pd.DataFrame(age, columns=['Name', 'Marks', 'Gender'])
  • Numpy: إنها المكتبة الأساسية للبايثون، وتستخدم لتنفيذ عمليات الحوسبة العلمية. يوفر مصفوفات وأدوات متعددة الأبعاد عالية الأداء للتعامل معها. المصفوفة الرقمية هي شبكة من القيم (من نفس النوع) مفهرسة بواسطة مجموعة من الأعداد الصحيحة الموجبة، والمصفوفات غير المتقاربة سريعة وسهلة الفهم ، وتمنح المستخدمين الصلاحية في إجراء العمليات الحسابية عبر المصفوفات. ويعتمد عليها كثيرٌ من العلماء والباحثين في إجراء العمليات الحسابية الكبيرة والمعقدة على بياناتهم وفي اختباراتهم العلمية. مثال:
# استيراد المكتبة
import numpy as np
# 3-D numpy array using np.array()
org_array = np.array([[10, 1, 77],
					[5, 0, 4]])

عندما يتعين علينا العمل على البيانات الجدولية ، فإننا نفضل وحدة الباندا. عندما يتعين علينا العمل على البيانات العددية ، فإننا نفضل الوحدة النمطية numpy. أدوات الباندا القوية هي Dataframe و Series. في حين أن الأداة القوية لـ numpy هي Arrays. تستهلك الباندا المزيد من الذاكرة. نمباي أكثر فعالية في التعامل مع الذاكرة. تتمتع Pandas بأداء أفضل عندما يكون عدد الصفوف 500 ألف أو أكثر. يتمتع Numpy بأداء أفضل عندما يكون عدد الصفوف 50 ألفًا أو أقل. تعد فهرسة سلاسل الباندا بطيئة جداً مقارنةً بمصفوفات نمباي. تعد الفهرسة في مصفوفات نمباي سريعة جداً. تقدم Pandas كائنات تمثل جدول ثنائي الأبعاد يسمى DataFrame.
Numpy قادر على توفير مصفوفات متعددة الأبعاد. نمباي تقدم لك عمليات سريعة وبكفاءة عالية عند التعامل مع المصفوفات، وإستخدام أمثل للمصادر عند المعالجة. وتعتمد عليها كثير من المكتبات الأخرى مثل Pandas و theanets وغيرهما. يوفر باندا وظائف كثيرة مثل: data alignment و NA-friendly statistics و groupby و merge و join والعديد من الأدوات الأخرى المريحة، التي أصبحت شائعة جداً في السنوات الأخيرة في التطبيقات المالية. وأيضاً في تعلم الآلة. وتقدم المكتبة ما يسمى ب إطار البيانات (Data Frame) والذي يسهل من إستيراد البيانات والتعامل معها بسهولة. و تسهل المكتبة عمليات (Data Preprocessing ) مثل تنظيف البيانات، ومعالجة القيم الفارغة فيها، وإجراء العمليات الإستكشافية على البيانات. وتسهل دمج البيانات ببعضها أو تجزيئها إلى إطارات متعددة.

  • أما بالنسبة لمكتبة SciPy فبشكل مختصر مكتبة (SciPy) هي نفس مكتبة (NumPy) تقريباً وهي أيضاً من بين المكتبات الاساسية للحسابات العلمية وخوارزميات الرياضيات والدوال المعقدة. ولكنها مبنية كأمتداد لمكتبة (NumPy) مما يعني أنهما يستخدمان سوية في أغلب الاحيان. تأتي هذه المكتبة على رأس هرم مكتبات علم البيانات بالبايثون ، وتخدم جانب تحليل البيانات و تعليم الالة بشكل قوي، ولا تقتصر على ذلك، حيث تقدم إمكانات هائلة في مجال معالجة الإشارات ومعالجة الصور والعمليات الحسابية المعقدة. تتكون وتعتمد مكتبة Scipy على خليط من المكتبات المشهورة مثل Numpy, Pandas, Matplotlib, Sympy, IPython وغيرها. تُقدم المكتبة مجموعة واسعة من الخوارزميات والحزم العلمية التي لها علاقة بالأخص بالعمليات الرياضية، الدوال الإحصائية وتعليم الألة. ومن ميزاتها أنها تقدم دوال واسعة في مجال الاحتمالات والإحصاء عبر موديول stats. وتدعم عمليات الجبر الخطي و Fourier transform. وتقدم المكتبة مجموعة من الدوال الخاصة بمعالجة المصفوفات متعددة الأبعاد لمعالجة الصور. وإجراء التحليل المكاني (Spatial Analysis) عبر مجموعة من الخوارزميات المتخصصة الموجودة في موديول spatial.
رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

نعم توجد اختلافات بينهم تجعل كل مكتبة فيهم مميزه في شئ ما، اختصارا هذة هي ممميزات كل مكتبة منهم:

numpy : هي مكتبة تتعامل مع الاشكال الرياضية للمصفوفات والعمليات الحسابية عليها، لذلك فهي مهمة في عمليات الحسابات الكبيرة والتي تتضمن الكثير من الرياضيات وتكون مميزة خاصة في المصفوفات.

pandas : مكتبة تعتبر تمثيلا قريبا لبرنامج excel على بايثون، حيث انها توفر اشكالا سهلة وبسيطة سواء للتعامل او للقراءه للبيانات وكذلك العمليات الرياضية البسيطة التي توضح معالجة للبيانات بشكل سهلة وواضح. كذلك فانها تعتمد على شكل dataframe والذي يجعل شكل البيانات سهلا وواضحا للقراءة، لذا فهي اكثر المكتبات استخداما في مجال تحليل البيانات.

scipy: يحتوي SciPy على جميع الوظائف الجبرية التي يوجد بعضها في NumPy إلى حد ما وليس في شكل كامل. بصرف النظر عن ذلك ، هناك العديد من الخوارزميات العددية المتاحة غير الموجودة بشكل صحيح في NumPy.لذلك فهي تستخدم بشكل اكبر ليس في تنظيم البيانات وانما في العمليات الجبرية او الخوارزمية عليها، لذلك فهي تستخدم في الذكاء الاصطناعي لاحتوائها على دوال كثيرة تستخدم فيها مثل random forest.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...