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

كيفية إدراج قوائم في خلايا Pandas DataFrame دون أخطاء؟

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

How to Insert Lists into Pandas DataFrame Cells Without Errors?

إدراج قوائم في خلايا Pandas

مشكلة

في Python، قد تؤدي محاولة إدراج قائمة في خلية Pandas DataFrame إلى حدوث أخطاء أو نتائج غير متوقعة. على سبيل المثال، عند محاولة إدراج قائمة في الخلية 1B من DataFrame df:

df = pd.DataFrame({'A': [12, 23], 'B': [np.nan, np.nan]})
abc = ['foo', 'bar']

المحاولات التالية لإدراج قائمة ABC في 1B، لكنها تنتج أخطاء أو إدراج غير صحيح:

    df.ix[1 ,'B'] = abc - خطأ: يجب أن يكون لديك مفاتيح len متساوية وقيمة متساوية عند الإعداد باستخدام عنصر تكراري
  1. df.ix[1,'B'] = [abc] - إدراج قائمة تحتوي على عنصر واحد: [['foo', 'bar']]
  2. df.ix[1,'B'] = ', '.join(abc) - إدراج سلسلة: "foo, bar"
  3. df.ix[1,'B'] = [', '.join(abc)] - إدراج قائمة تحتوي على عنصر واحد: ['foo, bar']
الحل

لإدراج قوائم في خلايا DataFrame بدون أخطاء، استخدم الأسلوب at، الذي يشير دائمًا إلى قيمة واحدة:

df.at[1, 'B'] = ['foo', 'bar']
df.at[1, 'B'] = ['foo', 'bar']
سيؤدي هذا إلى إدراج قائمة ABC في 1B كما هو متوقع:

A B 0 12 نان 1 23 ['foo', 'bar']
df.at[1, 'B'] = ['foo', 'bar']
لاحظ أن عمود DataFrame يجب أن يحتوي على dtype=object للسماح بإدراج القائمة. على سبيل المثال:

df['B'] = df['B'].astype('object')
            
أحدث البرنامج التعليمي أكثر>

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

Copyright© 2022 湘ICP备2022001581号-3