Skip to content

ورقة غش Pandas

دليل مفصل لاستخدام مكتبة Pandas.

تثبيت Pandas

الأمر الوصف
conda install pandas أفضل طريقة للحصول على pandas هي عبر conda
python3 -m pip install --upgrade pandas عبر PyPI
pip install pandas تثبيت pip القياسي

الاختصارات الرئيسية واستيراد الحزم

الاختصار الوصف
df أي كائن Pandas DataFrame
s أي كائن Pandas Series

طرق الاستيراد

الأمر الوصف
import pandas as pd استيراد pandas بالاسم المستعار pd
import numpy as np استيراد numpy بالاسم المستعار np

اختيار البيانات

الأمر الوصف
df[col] يرجع عمودًا كـ Series بناءً على اسم العمود
df[[col1, col2]] يرجع أعمدة متعددة كـ DataFrame
s.iloc[0] اختيار البيانات حسب الموقع
s.loc['index_one'] اختيار البيانات حسب الفهرس
df.iloc[0,:] يرجع الصف الأول
df.iloc[0,0] يرجع العنصر الأول في العمود الأول

تنظيف البيانات

الأمر الوصف
df.columns = ['a','b','c'] إعادة تسمية الأعمدة
pd.isnull() التحقق من القيم الفارغة في DataFrame؛ يرجع مصفوفة Boolean
pd.notnull() التحقق من القيم غير الفارغة في DataFrame؛ يرجع مصفوفة Boolean
df.dropna() حذف جميع الصفوف التي تحتوي على قيم فارغة
df.dropna(axis=1) حذف جميع الأعمدة التي تحتوي على قيم فارغة
df.dropna(axis=1, thresh=n) حذف جميع الصفوف التي تحتوي على أقل من n من القيم غير الفارغة
df.fillna(x) استبدال جميع القيم الفارغة في DataFrame بـ x
s.astype(float) تحويل نوع بيانات Series إلى float
s.replace(1, 'one') استبدال جميع القيم المساوية لـ 1 بـ ‘one’
s.replace([1,3], ['one', 'three']) استبدال 1 بـ ‘one’ و 3 بـ ’three’
df.rename(columns=lambda x: x + 1) إعادة تسمية الأعمدة بالجملة
df.rename(columns={'old_name': 'new_name'}) إعادة تسمية أعمدة محددة
df.set_index('column_one') تغيير عمود الفهرس
df.rename(index=lambda x: x + 1) إعادة تسمية الفهارس بالجملة

استيراد البيانات

الأمر الوصف
pd.read_csv(filename) استيراد البيانات من ملف CSV
pd.read_table(filename) استيراد البيانات من ملف نصي محدد بمحددات
pd.read_excel(filename) استيراد البيانات من ملف Excel
pd.read_sql(query, connection_object) استيراد البيانات من جدول/قاعدة بيانات SQL
pd.read_json(json_string) استيراد البيانات من سلسلة JSON
pd.read_html(url) استخراج الجداول من URL أو سلسلة أو ملف HTML
pd.read_clipboard() الحصول على المحتوى من الحافظة وتمريره إلى read_table()
pd.DataFrame(dict) استيراد البيانات من كائن قاموس (المفاتيح هي أسماء الأعمدة، والقيم هي البيانات)

تصدير البيانات

الأمر الوصف
df.to_csv(filename) تصدير البيانات إلى ملف CSV
df.to_excel(filename) تصدير البيانات إلى ملف Excel
df.to_sql(table_name, connection_object) تصدير البيانات إلى جدول SQL
df.to_json(filename) تصدير البيانات إلى ملف نصي بتنسيق JSON

معالجة البيانات: Filter، Sort، و GroupBy

الأمر الوصف
df[df[col] > 0.5] اختيار الصفوف التي تكون فيها قيمة العمود ‘col’ أكبر من 0.5
df.sort_values(col1) فرز البيانات حسب العمود col1 (تصاعدي افتراضيًا)
df.sort_values(col2, ascending=False) فرز البيانات حسب العمود col2 بترتيب تنازلي
df.sort_values([col1, col2], ascending=[True, False]) فرز حسب col1 تصاعديًا، ثم col2 تنازليًا
df.groupby(col) يرجع كائن GroupBy مجمعًا حسب العمود ‘col’
df.groupby([col1, col2]) يرجع كائن GroupBy مجمعًا حسب أعمدة متعددة
df.groupby(col1)[col2].mean() يرجع متوسط العمود col2 لكل مجموعة في col1
df.pivot_table(index=col1, values=[col2, col3], aggfunc=max) إنشاء جدول محوري مجمع حسب col1، مع حساب الحد الأقصى لـ col2 و col3
df.groupby(col1).agg(np.mean) يرجع المتوسط لجميع الأعمدة المجمعة حسب col1
df.apply(np.mean) تطبيق الوظيفة np.mean على كل عمود
df.apply(np.max, axis=1) تطبيق الوظيفة np.max على كل صف

إنشاء كائنات اختبار

الأمر الوصف
pd.DataFrame(np.random.rand(20,5)) إنشاء DataFrame بـ 20 صفًا و 5 أعمدة من أرقام عشوائية
pd.Series(my_list) إنشاء Series من كائن قابل للتكرار my_list
df.index = pd.date_range('1900/1/30', periods=df.shape[0]) إضافة فهرس تاريخ

عرض وفحص البيانات

الأمر الوصف
df.head(n) عرض أول n صفوف من DataFrame
df.tail(n) عرض آخر n صفوف من DataFrame
df.shape عرض عدد الصفوف والأعمدة
df.info() عرض الفهرس وأنواع البيانات ومعلومات الذاكرة
df.describe() عرض إحصائيات ملخصة للأعمدة الرقمية
s.value_counts(dropna=False) عرض القيم الفريدة وتكراراتها لـ Series
df.apply(pd.Series.value_counts) عرض القيم الفريدة وتكراراتها لكل عمود في DataFrame

دمج البيانات

الأمر الوصف
df1.append(df2) إلحاق الصفوف من df2 إلى نهاية df1
pd.concat([df1, df2], axis=1) إلحاق الأعمدة من df2 إلى نهاية df1
df1.join(df2, on=col1, how='inner') دمج (Join) بنمط SQL بين أعمدة df1 و df2

إحصائيات البيانات

الأمر الوصف
df.describe() عرض إحصائيات ملخصة للأعمدة الرقمية
df.mean() يرجع متوسط جميع الأعمدة
df.corr() يرجع معامل الارتباط بين الأعمدة
df.count() يرجع عدد القيم غير الفارغة في كل عمود
df.max() يرجع القيمة القصوى لكل عمود
df.min() يرجع القيمة الدنيا لكل عمود
df.median() يرجع الوسيط لكل عمود
df.std() يرجع الانحراف المعياري لكل عمود