كيفية الإصلاح: خطأ القيمة: غير قادر على تحديد صف بأعمدة غير متطابقة


الخطأ الذي قد تواجهه عند استخدام الباندا هو:

 ValueError : cannot set a row with mismatched columns

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

يوضح المثال التالي كيفية تصحيح هذا الخطأ عمليًا.

كيفية إعادة إنتاج الخطأ

لنفترض أننا أنشأنا DataFrame الباندا التالية:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I'],
                   ' points ': [18, 22, 19, 14, 14, 11, 20, 28, 22],
                   ' assists ': [5, 7, 7, 9, 12, 9, 9, 4, 8],
                   ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12, 9]})

#view DataFrame
df

	team points assists rebounds
0 A 18 5 11
1 B 22 7 8
2 C 19 7 10
3 D 14 9 6
4 E 14 12 6
5 F 11 9 5
6 G 20 9 9
7:28 4 12
8 I 22 8 9

لنفترض الآن أننا نحاول إضافة صف جديد في نهاية DataFrame:

 #define new row to append
new_team = ['I', 30]

#append row to DataFrame
df. loc [ len (df)] = new_team

#view updated DataFrame
df

ValueError : cannot set a row with mismatched columns

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

كيفية اصلاح الخطأ

أسهل طريقة لإصلاح هذا الخطأ هي استخدام الدالة append() لإضافة السطر الجديد في نهاية DataFrame، والذي سيملأ القيم المفقودة تلقائيًا بـ NaN:

يوضح بناء الجملة التالي كيفية استخدام هذه الوظيفة عمليًا:

 #define new row to append
new = ['J', 30]

#append row to end of DataFrame
df = df. append ( pd.Series (new,index= df.columns [: len (new)]), ignore_index= True )

#view updated DataFrame
df

	team points assists rebounds
0 to 18 5.0 11.0
1 B 22 7.0 8.0
2 C 19 7.0 10.0
3 D 14 9.0 6.0
4 E 14 12.0 6.0
5 F 11 9.0 5.0
6 G 20 9.0 9.0
7:28 a.m. 4.0 12.0
8 I 22 8.0 9.0
9 D 30 NaN NaN

لاحظ أننا لا نتلقى أي ValueError وتمت إضافة السطر الجديد إلى نهاية DataFrame.

لاحظ أيضًا أن القيمتين المفقودتين في الصف الجديد تم ملؤهما ببساطة بقيم NaN.

مصادر إضافية

تشرح البرامج التعليمية التالية كيفية إصلاح الأخطاء الشائعة الأخرى في بايثون:

كيفية الإصلاح: تتداخل الأعمدة ولكن لم يتم تحديد أي لاحقة
كيفية الإصلاح: لا يحتوي الكائن “numpy.ndarray” على سمة “إلحاق”.
كيفية الإصلاح: إذا كنت تستخدم جميع القيم العددية، فستحتاج إلى تمرير فهرس

Add a Comment

ایمئیل یایینلانمایاجاق ایسته‎نیله‎ن بوشلوقلار خاللانمیشدیر *