0Pricing
Python Academy · درس

الفهرسة والتصفية والأقنعة المنطقية

حدّد الصفوف والأعمدة باستخدام loc وiloc والشروط المنطقية

الفهرسة والتصفية والأقنعة المنطقية درس مجاني في Python Academy على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Python Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Python Academy 4 دروس في المجموع.

loc في مقابل iloc

يحدد loc العناصر حسب التسمية، بينما يحدد iloc العناصر حسب الموضع الصحيح. لا تخلط بينهما مطلقًا.

import pandas as pd

df = pd.DataFrame({"a":[1,2,3],"b":[4,5,6]}, index=["x","y","z"])
print(df.loc["y"])       # row with label y
print(df.iloc[1])        # row at position 1 (same row)
print(df.loc["x":"y"])   # rows x to y inclusive

التصفية باستخدام قناع منطقي

أنشئ Series منطقية واستخدمها لتحديد الصفوف. وهذا هو المكافئ في pandas للفهرسة المنطقية في NumPy.

import pandas as pd

df = pd.DataFrame({"name":["Alice","Bob","Carol"],"age":[30,17,25]})
adults = df[df["age"] >= 18]
print(adults)
# Alice 30
# Carol 25

الشروط المتعددة

ادمج الشروط المنطقية باستخدام & (و) و| (أو). أَحِط كل شرط بأقواس.

import pandas as pd

df = pd.DataFrame({"city":["NY","LA","NY","LA"],"score":[80,90,70,85]})
result = df[(df["city"]=="NY") & (df["score"]>75)]
print(result)

الدالة query()

تقبل df.query("expression") تعبيرًا نصيًا، وغالبًا ما تكون أكثر قابلية للقراءة من الأقنعة المنطقية.

import pandas as pd

df = pd.DataFrame({"age":[30,17,25],"score":[90,80,70]})
result = df.query("age >= 18 and score > 75")
print(result)

التصفية باستخدام isin()

تعمل isin(list) على تصفية الصفوف التي توجد فيها قيمة العمود ضمن قائمة محددة.

import pandas as pd

df = pd.DataFrame({"city":["NY","LA","Chicago","NY"],"val":[1,2,3,4]})
print(df[df["city"].isin(["NY","LA"])])
# rows with NY or LA

استخدام between() لتصفية النطاق

تُرجع series.between(left, right) القيمة True للقيم الموجودة ضمن [left, right]، ويكون الحدّان مشمولين افتراضيًا.

import pandas as pd

df = pd.DataFrame({"score":[55,70,85,95,40]})
print(df[df["score"].between(60, 90)])
# 70 and 85

استخدام loc للتعيين

استخدم دائمًا loc/iloc للتعيين المباشر لتجنب التحذير SettingWithCopyWarning.

import pandas as pd

df = pd.DataFrame({"val":[1,2,3,4]})
df.loc[df["val"] > 2, "val"] = 99
print(df)
# 0:1  1:2  2:99  3:99

استخدام at وiat للقيم المفردة

يوفّر at[label, col] وiat[i, j] وصولًا سريعًا إلى القيم المفردة، وهما أسرع من loc/iloc عند الوصول إلى قيمة واحدة.

import pandas as pd

df = pd.DataFrame({"a":[10,20],"b":[30,40]})
print(df.at[0,"a"])    # 10  (by label)
print(df.iat[1,1])     # 40  (by position)

التحديد حسب نوع البيانات

تحدد select_dtypes(include/exclude) الأعمدة حسب نوع البيانات.

import pandas as pd

df = pd.DataFrame({"x":[1,2],"name":["a","b"],"score":[1.5,2.5]})
nums = df.select_dtypes(include=["number"])
print(nums.columns.tolist())   # ['x', 'score']

إزالة التكرارات

تزيل drop_duplicates() الصفوف المكررة. حدّد subset للمقارنة بين أعمدة معينة فقط.

import pandas as pd

df = pd.DataFrame({"name":["Alice","Bob","Alice"],"age":[30,25,30]})
print(df.drop_duplicates())
# keeps first Alice, removes second

nlargest وnsmallest

حدّد بكفاءة أول N صفوف أو آخرها حسب قيمة أحد الأعمدة.

import pandas as pd

df = pd.DataFrame({"product":["A","B","C","D"],"sales":[500,300,800,200]})
print(df.nlargest(2,"sales"))
# C 800
# A 500

تحقق سريع

ما الفرق بين loc وiloc؟

مراجعة

استخدم loc[label] للتحديد حسب التسمية، وiloc[i] للتحديد حسب الموضع. صفِّ الصفوف باستخدام أقنعة منطقية تدمجها بواسطة &/|. استخدم query() للفلاتر القابلة للقراءة، وisin() لاختبارات الانتماء، وعيّن القيم دائمًا عبر loc لتجنب SettingWithCopyWarning.

الأسئلة الشائعة

هل درس «الفهرسة والتصفية والأقنعة المنطقية» مجاني؟

نعم — نص درس «الفهرسة والتصفية والأقنعة المنطقية» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Python Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Python Academy 4 دروس في المجموع.

ماذا ستتعلم في «الفهرسة والتصفية والأقنعة المنطقية»؟

حدّد الصفوف والأعمدة باستخدام loc وiloc والشروط المنطقية تتمرن على Python Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Python Academy؟

لا تُشترط خبرة سابقة. Python Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.

كم من الوقت يستغرق درس «الفهرسة والتصفية والأقنعة المنطقية»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Python Academy هذا؟

نعم. كل درس في Python Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. أساسيات Series وDataFrame
  2. الفهرسة والتصفية والأقنعة المنطقية
  3. GroupBy والتجميع والجداول المحورية
  4. الدمج والربط وتنظيف البيانات
← العودة إلى Python Academy