إذا كنت تتعلم تحليل البيانات باستخدام بايثون، فغالبًا سمعت عن مكتبات مشهورة مثل Pandas و NumPy و Matplotlib. هذه المكتبات مهمة جدًا، وتعتبر نقطة البداية لكثير من مشاريع البيانات.
لكن عالم بايثون لا يتوقف عند هذه الأدوات فقط. توجد مكتبات أخرى تساعدك على تحليل البيانات بسرعة، إنشاء رسوم بيانية تفاعلية، بناء نماذج تعلم آلة، أو توليد تقارير كاملة عن البيانات بأوامر قليلة.
في هذا المقال من بايثون العرب سنتعرف على 5 مكتبات بايثون مفيدة لتحليل البيانات، مع شرح مبسط لما تفعله كل مكتبة، ومتى تستخدمها، وأمثلة عملية مناسبة لمن يريد الانتقال من الأساسيات إلى تطبيقات البيانات.
{getToc} $title={محتوى المقال}
{alertInfo} هذا المقال ليس بديلًا عن تعلم Pandas و NumPy، بل هو دليل يساعدك على اكتشاف أدوات إضافية تجعل عملك مع البيانات أسرع وأسهل.
لماذا تحتاج إلى مكتبات جديدة بجانب Pandas؟
مكتبة Pandas ممتازة للتعامل مع الجداول والملفات، لكنها ليست دائمًا الحل الأفضل لكل موقف. أحيانًا تحتاج إلى سرعة أعلى، أو رسوم تفاعلية، أو واجهة تشبه Excel، أو طريقة أسهل لبناء نموذج تعلم آلة.
هنا تظهر أهمية معرفة أكثر من أداة. المبرمج أو محلل البيانات الجيد لا يستخدم مكتبة واحدة لكل شيء، بل يختار الأداة المناسبة حسب طبيعة المشكلة.
| المكتبة | أفضل استخدام | مناسبة لمن؟ |
|---|---|---|
Mito |
تحليل البيانات داخل Jupyter بواجهة تشبه Excel | المبتدئين ومستخدمي الجداول |
Plotly Express |
إنشاء رسوم بيانية تفاعلية | محللي البيانات وصناع التقارير |
Polars |
معالجة البيانات الكبيرة بسرعة | من يتعامل مع ملفات ضخمة |
PyCaret |
تجربة نماذج تعلم آلة بأوامر قليلة | المهتمين بتعلم الآلة |
ydata-profiling |
إنشاء تقرير شامل عن البيانات | كل من يبدأ مشروع تحليل بيانات |
1. مكتبة Mito: واجهة Excel داخل Jupyter Notebook
إذا كنت معتادًا على Excel أو Google Sheets، فقد تشعر أن التعامل مع Pandas داخل Jupyter Notebook يحتاج إلى كتابة أوامر كثيرة. هنا تأتي مكتبة Mito، فهي توفر واجهة جداول داخل Jupyter تساعدك على تصفية البيانات، ترتيبها، إنشاء أعمدة جديدة، وتنفيذ عمليات كثيرة بطريقة مرئية.
الميزة الجميلة أن Mito لا تكتفي بالواجهة فقط، بل يمكنها توليد كود Pandas المقابل للعمليات التي تقوم بها، وهذا يجعلها مفيدة للتعلم والعمل في نفس الوقت.
{getButton} $text={رابط موقع المكتبة} $icon={link}
متى تستخدم Mito؟
- عندما تريد استكشاف البيانات بسرعة داخل Jupyter Notebook.
- إذا كنت مبتدئًا وتريد فهم عمليات Pandas بطريقة مرئية.
- إذا كنت تفضل التعامل مع الجداول قبل كتابة الكود النهائي.
مثال بسيط على استخدام Mito
import mitosheet
mitosheet.sheet(df)
بعد تشغيل الكود، تظهر واجهة تفاعلية للبيانات داخل Notebook، ويمكنك التعامل معها بطريقة قريبة من برامج الجداول.
{alertSuccess} Mito مناسبة جدًا لمن يريد الانتقال من Excel إلى Python بدون الشعور بأن كل شيء أصبح صعبًا فجأة.
2. مكتبة Plotly Express: رسوم بيانية تفاعلية بسطر كود
الرسوم البيانية جزء مهم جدًا من تحليل البيانات. مكتبة Matplotlib قوية ومشهورة، لكنها أحيانًا تحتاج إلى كود طويل للحصول على رسم واضح وجذاب. أما Plotly Express فتساعدك على إنشاء رسوم بيانية تفاعلية بسرعة وبكود بسيط.
الرسم الناتج من Plotly يكون تفاعليًا غالبًا، بمعنى أنك تستطيع تقريب الرسم، تحريك العرض، وتمرير الماوس على النقاط لرؤية تفاصيل إضافية.
{getButton} $text={رابط موقع المكتبة} $icon={link}
مثال باستخدام Matplotlib
import matplotlib.pyplot as plt
plt.figure(figsize=(10, 6))
plt.scatter(df["gdpPercap"], df["lifeExp"])
plt.xlabel("GDP per Capita")
plt.ylabel("Life Expectancy")
plt.title("GDP vs Life Expectancy")
plt.show()
نفس الفكرة باستخدام Plotly Express
import plotly.express as px
fig = px.scatter(
df,
x="gdpPercap",
y="lifeExp",
hover_name="country",
log_x=True,
title="GDP vs Life Expectancy"
)
fig.show()
هذا النوع من الرسوم مناسب للتقارير، العروض، ولوحات البيانات التفاعلية.
3. مكتبة Polars: بديل سريع للتعامل مع الجداول الكبيرة
عندما تبدأ بملفات صغيرة، غالبًا ستكون Pandas كافية. لكن إذا بدأت تتعامل مع ملفات CSV كبيرة أو بيانات كثيرة، قد تلاحظ أن بعض العمليات أصبحت بطيئة أو تستهلك ذاكرة عالية. هنا يمكن أن تكون Polars خيارًا ممتازًا.
Polars مكتبة لمعالجة الجداول والبيانات، وتهتم بالأداء العالي. لذلك يستخدمها كثير من المطورين عندما يحتاجون إلى سرعة أكبر في قراءة البيانات، التصفية، التجميع، والتحويل.
{getButton} $text={رابط موقع المكتبة} $icon={link}
مثال على قراءة ملف CSV باستخدام Polars
import polars as pl
df = pl.read_csv("sales.csv")
print(df)
مثال على التجميع باستخدام Polars
result = (
df
.group_by("category")
.agg(
pl.col("sales").mean().alias("avg_sales")
)
)
print(result)
{alertInfo} إذا كنت مبتدئًا تمامًا، ابدأ أولًا بـ Pandas، ثم جرّب Polars عندما تحتاج إلى أداء أسرع أو تتعامل مع ملفات أكبر.
4. مكتبة PyCaret: تجربة نماذج تعلم الآلة بأوامر قليلة
تعلم الآلة قد يبدو معقدًا في البداية؛ لأنك تحتاج إلى تجهيز البيانات، اختيار النموذج، التدريب، التقييم، ثم تحسين النتائج. مكتبة PyCaret تساعدك على تجربة أكثر من نموذج بسهولة من خلال أوامر قليلة.
الفكرة ليست أن تعتمد عليها بدون فهم، بل أن تستخدمها للتجربة السريعة ومقارنة النماذج، ثم تتعلم لاحقًا ما يحدث خلف الكواليس.
{getButton} $text={رابط موقع المكتبة} $icon={link}
مثال مبسط على PyCaret للتصنيف
from pycaret.classification import *
s = setup(
data=df,
target="target_column"
)
best_model = compare_models()
predictions = predict_model(
best_model,
data=new_data
)
متى تستخدم PyCaret؟
- عندما تريد تجربة عدة نماذج بسرعة.
- عند بناء نموذج أولي لمشروع تعلم آلة.
- عندما تريد فهم أي نوع من النماذج يعطي نتائج أفضل على بياناتك.
{alertWarning} لا تجعل PyCaret بديلًا عن فهم أساسيات تعلم الآلة. استخدمها للتسريع، لكن حاول أن تفهم معنى التدريب والتقييم والمقاييس.
5. مكتبة ydata-profiling: تقرير شامل عن البيانات بضغطة زر
عندما تحصل على ملف بيانات جديد، غالبًا تبدأ بأسئلة مثل: كم عدد الصفوف؟ هل توجد قيم مفقودة؟ ما نوع الأعمدة؟ هل توجد قيم مكررة؟ ما توزيع الأرقام؟ هنا تساعدك مكتبة ydata-profiling على إنشاء تقرير HTML شامل عن البيانات بسرعة.
هذه المكتبة كانت معروفة سابقًا باسم Pandas Profiling، وما زالت فكرتها الأساسية واحدة: توليد تقرير استكشافي شامل يساعدك على فهم البيانات قبل بناء أي تحليل أو نموذج.
{getButton} $text={رابط موقع المكتبة} $icon={link}
مثال على إنشاء تقرير بيانات
from ydata_profiling import ProfileReport
profile = ProfileReport(
df,
title="My Data Report"
)
profile.to_file("report.html")
بعد تشغيل الكود، ستحصل على ملف HTML يحتوي على معلومات كثيرة عن البيانات، مثل القيم المفقودة، التكرارات، الإحصائيات، وبعض الرسوم التي تساعدك على فهم الملف بسرعة.
أي مكتبة أتعلم أولًا؟
إذا كنت في بداية تعلم تحليل البيانات، لا تحاول تعلم كل شيء مرة واحدة. الأفضل أن تبدأ بالتدرج حسب هدفك.
| هدفك | ابدأ بهذه المكتبة | السبب |
|---|---|---|
| تعلم أساسيات تحليل البيانات | Pandas |
هي الأساس والأكثر استخدامًا للمبتدئين. |
| رؤية البيانات برسوم جذابة | Plotly Express |
تعطيك رسومًا تفاعلية بسهولة. |
| استكشاف ملف بيانات بسرعة | ydata-profiling |
تولد تقريرًا شاملًا بأوامر قليلة. |
| التعامل مع ملفات كبيرة | Polars |
مناسبة للأداء العالي والبيانات الكبيرة. |
| تجربة تعلم الآلة | PyCaret |
تساعدك على مقارنة النماذج بسرعة. |
روابط مفيدة من بايثون العرب
- أفضل مصادر تعلم بايثون للمبتدئين
- هل يمكن تعلم بايثون بنفسي؟
- شرح القوائم Lists في بايثون
- شرح القواميس Dictionaries في بايثون
- محرر بايثون العرب لتجربة الأكواد أون لاين
الخلاصة
تحليل البيانات في بايثون لا يعتمد على مكتبة واحدة فقط. صحيح أن Pandas و NumPy مهمتان جدًا، لكن هناك أدوات أخرى يمكن أن تختصر عليك وقتًا كبيرًا وتفتح لك أبوابًا جديدة في تحليل البيانات والتصور البياني وتعلم الآلة.
إذا كنت مبتدئًا، ابدأ بفهم الأساسيات، ثم جرّب مكتبة واحدة من هذا المقال حسب حاجتك. مثلًا استخدم Plotly Express إذا أردت رسومًا تفاعلية، أو ydata-profiling إذا أردت تقريرًا سريعًا عن البيانات، أو Polars إذا أصبحت ملفاتك أكبر وأبطأ مع Pandas.
{alertSuccess} الخلاصة السريعة: تعلم Pandas أولًا، ثم أضف أدوات مثل Plotly و Polars و ydata-profiling حسب نوع مشروعك واحتياجك.