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

لكل شخص مجموعة أدواته المفضلة التي يُثبّتها على أجهزته كلما حصل على جهاز جديد. بالعمل مع بايثون، كوّنتُ مجموعة أدواتي الأساسية الخاصة. إليكم المكتبات والبرامج التي أستخدمها كلما حصلت على جهاز جديد.
Jupyter/IPython

Jupyter هي طريقة لإنشاء دفاتر ملاحظات تفاعلية تجمع بين النصوص والرسومات والأكواد البرمجية. إنها طريقة برمجة فريدة من نوعها، وقد أحدثت ثورة في عالم البرمجة العلمية. من السهل جدًا تشغيل وإعادة تشغيل أجزاء من الكود.
على الرغم من أنها ليست أداة مخصصة لبايثون، بل تدعم لغات أخرى، إلا أن بايثون تُعد من لغات البرمجة مفتوحة المصدر المفضلة للحوسبة العلمية، بما في ذلك الإحصاءات. كانت دفاتر ملاحظات Jupyter في الأصل جزءًا من IPython، مما يُحسّن بيئة بايثون التفاعلية. أستخدم IPython بشكل أساسي للتجارب، بينما أستخدم دفاتر ملاحظات Jupyter لحفظ نتائجي.
Mamba
هذه ليست أداة بايثون محددة، ولكن مامبا مفيدة لإعداد بيئة العمل على جهاز جديد. بينما تُضمّن بايثون في العديد من الأنظمة، يُستخدم نظام لينكس بشكل أساسي لدعم البرامج النصية ووظائف أخرى في نظام التشغيل نفسه، وليس لمشاريع البرمجة. إذا أردتُ تثبيت حزم، فسأضطر إما إلى استخدام مدير الحزم أو إعداد بيئة افتراضية.
يُتيح لي مامبا إعداد بيئات مخصصة بسهولة باستخدام الحزم التي أريدها والتبديل بينها. هذا يُقلل بشكل كبير من احتمالية إفساد بيئة بايثون الخاصة بنظامي.

NumPy

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

SciPy غنيٌّ بالعديد من الدوال العلمية. ومرة أخرى، ما يجذبني فيه هو الحوسبة الإحصائية. أستطيعُ حوسبة دوالٍ غير موجودةٍ في NumPy القياسي لسببٍ ما. على سبيل المثال، أستطيعُ حساب المنوال الإحصائي، أو الرقم الأكثر ظهورًا في مجموعة بيانات.
لنفترض أن لديّ مصفوفةً اسمها “a”. لإيجاد المنوال، سأُشغّل هذا الكود:
from scipy import stats
stats.mode(a)
يحتوي SciPy أيضًا على العديد من التوزيعات الإحصائية الشائعة، مثل التوزيع الطبيعي، والتوزيع الثنائي، وتوزيع t للطلاب. لم أعد بحاجة إلى البحث في الجداول.
SymPy

بينما يغطي كلٌ من NumPy وSciPy العمليات الحسابية العددية، يُقدم SymPy شيئًا مختلفًا تمامًا. إنها مكتبة تُحوّل بايثون إلى نظام جبر حاسوبي. هذا يُتيح لها التعامل مع المتغيرات الرمزية كما تعمل الآلة الحاسبة على الأرقام. هذه وظيفة مُقدمة في حزم باهظة الثمن مثل Wolfram Mathematica.
هذا يُتيح لي إجراء عمليات جبرية داخل بايثون، مثل توسيع كثيرات الحدود وتحليلها إلى عوامل، وحل المعادلات، وحتى حساب التفاضل والتكامل. مع أن هذا يُمثل جزءًا صغيرًا من العمليات اليومية، إلا أنها قيّمة لفهم أعمق للمفاهيم الإحصائية. يُمكنني استخدامه لحساب صيغة الانحدار الخطي، بينما تُدير مكتبات أخرى الحسابات الفعلية. كما أنني أستخدمه للعمل على نصوص تستخدم هذه العمليات الأكثر تقدمًا. لقد وجدته أداةً لا تُقدر بثمن لتعليمي الذاتي في الرياضيات.
pandas

بالنسبة للحسابات الإحصائية، يُعد هذا البرنامج أكثر فعالية من NumPy بمفرده. يُسهّل pandas تعريف إطارات بيانات للبيانات المستطيلة. يُشبه هذا ترتيب البيانات الذي تراه في جداول البيانات وقواعد البيانات العلائقية. كما يُسهّل استيراد البيانات من جداول بيانات Excel وCSV.
لا يقتصر الأمر على عرض البيانات فحسب، بل يتضمن أيضًا العديد من الدوال المُدمجة لإجراء العمليات الحسابية، مثل الإحصاءات الوصفية. كما يُمكنني رسم البيانات باستخدام أساليب pandas.
seaborn

لقد ذكرتُ Seaborn سابقًا. يعجبني كيف يُتيح طريقة سهلة لإنشاء مخططات إحصائية شائعة. إنه بمثابة واجهة أمامية لمكتبة Matplotlib الشهيرة. مع أن هذه الأخيرة مفيدة، إلا أن إعداد المخطط المطلوب قد يكون مُرهقًا. في Seaborn، الأمر يتعلق بشكل أساسي باختيار نوع المخطط الذي أريده وتعيين محوري س وص.
على سبيل المثال، للحصول على انحدار باستخدام مخطط تشتت لقاعدة بيانات إكراميات المطاعم المُدمجة، حيث يُمثل الإكرامية مُقابل إجمالي الفاتورة:
import seaborn as sns
sns.set_theme()
tips = sns.load_dataset('tips')
sns.regplot(x='total_bill',y='tip',data=tips)
Pingouin

Pingouin مكتبة مفيدة للحصول على نتائج الاختبارات الإحصائية بطريقة سهلة الاستخدام. للاطلاع على الأرقام الفعلية وراء مخطط الانحدار السابق، يمكنني استخدام طريقة الانحدار الخطي linear_regression في Pingouin:
import pingouin as pg
pg.linear_regression(tips['total_bill'],tips['tip'])
هناك اختبارات أخرى شائعة، مثل اختبار t للطالب واختبار مربع كاي.
statsmodels

statsmodels مكتبة قديمة، وكما يوحي اسمها، مُخصصة أساسًا للاختبارات الإحصائية. ميزتها الرئيسية هي الانحدار الخطي. كما تُقارن نتائجها ببرامج إحصائية أخرى مثل R. هذا يجعلها مفيدة إذا كنت ترغب في التأكد من صحة نتائجك. وبالحديث عن R، فهي تدعم أيضًا صيغًا شبيهة بـ R. سأوضح ذلك بإصدار آخر من تحليل الانحدار لمجموعة بيانات النصائح:
import statsmodels.formula.api as smf
results = smf.ols('tip ~ total_bill',data=tips).fit()
results.summary()
هذه المكتبات والأدوات تُسهّل تحليل البيانات وتُضفي عليه متعةً أكبر. من المُرجّح أن أستخدمها في جهازي التالي.






