"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية إضافة أعمدة متعددة بكفاءة إلى Pandas DataFrame في وقت واحد؟

كيفية إضافة أعمدة متعددة بكفاءة إلى Pandas DataFrame في وقت واحد؟

تم النشر بتاريخ 2024-11-08
تصفح:411

How to Efficiently Add Multiple Columns to a Pandas DataFrame Simultaneously?

إضافة أعمدة متعددة إلى إطار بيانات Pandas في وقت واحد

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

التحدي

كما هو موضح في المثال المقدم، بناء الجملة التالي فشل في إنشاء الأعمدة الجديدة على النحو المنشود:

df[['column_new_1', 'column_new_2', 'column_new_3']] = [np.nan, 'dogs', 3]

وهذا لأن Pandas يتطلب أن يكون الجانب الأيمن من المهمة DataFrame عند استخدام بناء جملة قائمة الأعمدة. القيم العددية أو القوائم غير متوافقة مع هذا النهج.

الحلول

توفر العديد من الطرق البديلة حلولاً قابلة للتطبيق لإضافة أعمدة متعددة في وقت واحد:

الطريقة الأولى: التعيينات الفردية باستخدام Iterator Unpacking

df['column_new_1'], df['column_new_2'], df['column_new_3'] = np.nan, 'dogs', 3

الطريقة الثانية: توسيع صف واحد لمطابقة الفهرس

df[['column_new_1', 'column_new_2', 'column_new_3']] = pd.DataFrame([[np.nan, 'dogs', 3]], index=df.index)

الطريقة الثالثة: الدمج مع إطار البيانات المؤقت باستخدام pd.concat

df = pd.concat(
    [
        df,
        pd.DataFrame(
            [[np.nan, 'dogs', 3]], 
            index=df.index, 
            columns=['column_new_1', 'column_new_2', 'column_new_3']
        )
    ], axis=1
)

الطريقة الرابعة: الدمج مع إطار البيانات المؤقت باستخدام .join

df = df.join(pd.DataFrame(
    [[np.nan, 'dogs', 3]], 
    index=df.index, 
    columns=['column_new_1', 'column_new_2', 'column_new_3']
))

الطريقة الخامسة: استخدام القاموس لإطار البيانات المؤقت

df = df.join(pd.DataFrame(
    {
        'column_new_1': np.nan,
        'column_new_2': 'dogs',
        'column_new_3': 3
    }, index=df.index
))

الطريقة السادسة: استخدم .assistant() مع وسيطات الأعمدة المتعددة

df = df.assign(column_new_1=np.nan, column_new_2='dogs', column_new_3=3)

الطريقة السابعة: إنشاء الأعمدة، ثم تعيين القيم

new_cols = ['column_new_1', 'column_new_2', 'column_new_3']
new_vals = [np.nan, 'dogs', 3]
df = df.reindex(columns=df.columns.tolist()   new_cols)    # add empty cols
df[new_cols] = new_vals        # multi-column assignment works for existing cols
الطريقة 8: التعيينات المتسلسلة المتعددة

df['column_new_1'] = np .نان df['column_new_2'] = 'كلاب' df['column_new_3'] = 3

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

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3