Data Science

إتقان مكتبة Pandas: اختيار أعمدة متعددة بكفاءة في جداول البيانات

Spread the love

Pandas مكتبة قوية في بايثون لمعالجة البيانات وتحليلها. وتتضمن المهام الشائعة اختيار أعمدة محددة من DataFrame. تستعرض هذه المقالة طرقًا فعالة وواضحة لاختيار أعمدة متعددة، مع تسليط الضوء على أفضل الممارسات.

جدول المحتويات:

استخدام بناء جملة Getitem

أبسط نهج يستخدم بناء جملة getitem ([]). قم بتوفير قائمة بأسماء الأعمدة لاختيار تلك الأعمدة.


import pandas as pd

data = {'col1': [1, 2, 3], 'col2': [4, 5, 6], 'col3': [7, 8, 9], 'col4': [10, 11, 12]}
df = pd.DataFrame(data)

# اختيار 'col1', 'col3', و 'col4'
selected_columns = ['col1', 'col3', 'col4']
selected_df = df[selected_columns]
print(selected_df)

هذا مختصر وقابل للقراءة، لكن تأكد من وجود جميع الأعمدة المدرجة في DataFrame؛ وإلا، سيحدث خطأ KeyError.

استخدام iloc()

يستخدم iloc() الفهرسة القائمة على الأعداد الصحيحة. اختر الأعمدة عن طريق توفير قائمة بمواقعها الصحيحة (مع مراعاة أن بايثون تستخدم الفهرسة القائمة على الصفر).


import pandas as pd

data = {'col1': [1, 2, 3], 'col2': [4, 5, 6], 'col3': [7, 8, 9], 'col4': [10, 11, 12]}
df = pd.DataFrame(data)

# اختيار الأعمدة في المؤشرات 0، 2، و 3
selected_df = df.iloc[:, [0, 2, 3]]  # : يختار جميع الصفوف، [0, 2, 3] يختار الأعمدة 0، 2، و 3
print(selected_df)

الرمز : يختار جميع الصفوف. iloc() مفيد عندما تكون أسماء الأعمدة غير معروفة، ولكن المؤشرات متاحة.

استخدام loc()

يستخدم loc() العلامات (أسماء الأعمدة). على الرغم من تشابهه مع getitem للأعمدة المتعددة، إلا أن loc يوفر مرونة أكبر لاختيارات الصفوف والأعمدة مجتمعة.


import pandas as pd

data = {'col1': [1, 2, 3], 'col2': [4, 5, 6], 'col3': [7, 8, 9], 'col4': [10, 11, 12]}
df = pd.DataFrame(data)

# اختيار 'col1', 'col3', و 'col4'
selected_df = df.loc[:, ['col1', 'col3', 'col4']]  # : يختار جميع الصفوف، ['col1', 'col3', 'col4'] يختار الأعمدة المحددة
print(selected_df)

يُشير loc بشكل صريح إلى الاختيار القائم على العلامات، وهو مفيد عند دمجه مع اختيار الصفوف باستخدام العلامات أو الفهرسة البولينية.

الفهرسة البولينية لاختيار الأعمدة

للسيناريوهات الأكثر تعقيدًا، تسمح الفهرسة البولينية مع loc باختيار الأعمدة بناءً على الشروط المطبقة على أسمائها.


import pandas as pd

data = {'col1': [1, 2, 3], 'col2': [4, 5, 6], 'col3': [7, 8, 9], 'col4': [10, 11, 12], 'other_col': [13,14,15]}
df = pd.DataFrame(data)

# اختيار الأعمدة التي تبدأ بـ 'col'
selected_df = df.loc[:, [col.startswith('col') for col in df.columns]]
print(selected_df)

اعتبارات الأداء

بشكل عام، getitem هو الأسرع، يليها loc، ثم iloc. ومع ذلك، فإن الاختلافات تكون عادةً ضئيلة ما لم تكن تتعامل مع DataFrames ضخمة. أعط الأولوية للقراءة والصيانة على مكاسب الأداء الطفيفة.

الخلاصة

اختيار أعمدة متعددة أمر أساسي في Pandas. Getitem هو الأبسط لأسماء الأعمدة المعروفة. iloc() مناسب للفهرسة القائمة على الأعداد الصحيحة، بينما loc() يوفر المرونة وهو مفضل للاختيار القائم على العلامات. تعتمد أفضل طريقة على احتياجاتك المحددة وهيكل بياناتك.

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

  • س: ماذا يحدث إذا اخترت عمودًا غير موجود؟
    ج: Getitem و loc يثيران خطأ KeyError. iloc يثير خطأ IndexError إذا كان المؤشر خارج الحدود.
  • س: هل يمكنني اختيار الأعمدة بناءً على شرط؟
    ج: نعم، استخدم الفهرسة البولينية مع loc (كما هو موضح أعلاه).

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *