كيفية الإصلاح: يجب أن تكون الوسيطة الأولى قابلة للتكرار من كائنات الباندا، وقمت بتمرير كائن من النوع "dataframe"؛


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

 TypeError: first argument must be an iterable of pandas objects, you passed an object
           of type "DataFrame"

يحدث هذا الخطأ عادةً عند محاولة استخدام الدالة concat() لإضافة اثنين من إطارات الباندا DataFrame معًا دون وضع أسماء DataFrame بين قوسين.

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

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

لنفترض أن لدينا إطاري بيانات الباندا التاليين:

 import pandas as pd

#create first DataFrame
df1 = pd. DataFrame ({' x ': [25, 14, 16, 27, 20,15, 14],
                    ' y ': [5, 7, 7, 5, 7, 6, 9],
                    ' z ': [8, 8, 10, 6, 6, 9, 6]})

print (df1)

    X Y Z
0 25 5 8
1 14 7 8
2 16 7 10
3 27 5 6
4 20 7 6
5 15 6 9
6 14 9 6

#create second DataFrame 
df2 = pd. DataFrame ({' x ': [58, 60, 65],
                    ' y ': [14, 22, 23],
                    ' z ': [9, 12, 19]})

print (df2)

    X Y Z
0 58 14 9
1 60 22 12
2 65 23 19

لنفترض الآن أننا نحاول استخدام الدالة concat() لإضافة إطاري DataFrame إلى DataFrame واحد:

 #attempt to add two DataFrames together
combined = pd. concat (df1, df2, ignore_index= True )

#view final DataFrame
print (combined)

TypeError: first argument must be an iterable of pandas objects, you passed an object
of type "DataFrame"

نتلقى خطأً لأننا فشلنا في وضع أسماء DataFrame بين قوسين في الدالة concat() .

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

طريقة حل هذا الخطأ هي ببساطة وضع أسماء DataFrame بين قوسين مربعين في الدالة concat() كما يلي:

 #append two DataFrames together
combined = pd. concat ([df1, df2], ignore_index= True )

#view final DataFrame
print (combined)

    X Y Z
0 25 5 8
1 14 7 8
2 16 7 10
3 27 5 6
4 20 7 6
5 15 6 9
6 14 9 6
7 58 14 9
8 60 22 12
9 65 23 19

لاحظ أننا قادرون على دمج إطاري البيانات بنجاح دون أي أخطاء هذه المرة.

مصادر إضافية

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

كيفية الإصلاح في Python: الكائن “numpy.ndarray” غير قابل للاستدعاء
كيفية الإصلاح: خطأ في الكتابة: الكائن “numpy.float64” غير قابل للاستدعاء
كيفية الإصلاح: خطأ في الكتابة: كائن السلسلة أو البايتات المتوقعة

Add a Comment

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