Oplossing: het eerste argument moet een iteratie van panda-objecten zijn, je hebt een object van het type “dataframe” doorgegeven;


Een veel voorkomende fout die u kunt tegenkomen bij het gebruik van Python is:

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

Deze fout treedt meestal op wanneer u de functie concat() probeert te gebruiken om twee panda’s DataFrames samen te voegen zonder de DataFrame-namen tussen haakjes te plaatsen.

Het volgende voorbeeld laat zien hoe u deze fout in de praktijk kunt oplossen.

Hoe de fout te reproduceren

Laten we aannemen dat we de volgende twee panda-dataframes hebben:

 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

Stel nu dat we de functie concat() proberen te gebruiken om de twee DataFrames toe te voegen aan één 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"

We ontvangen een foutmelding omdat we er niet in zijn geslaagd de DataFrame-namen tussen haakjes te plaatsen in de functie concat() .

Hoe u de fout kunt oplossen

De manier om deze fout op te lossen is door de DataFrame-namen eenvoudig als volgt tussen vierkante haakjes in de functie concat() te plaatsen:

 #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

Merk op dat we deze keer de twee DataFrames met succes zonder fouten kunnen combineren.

Aanvullende bronnen

In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende fouten in Python kunt oplossen:

Oplossing in Python: Object ’numpy.ndarray‘ kan niet worden opgevraagd
Oplossing: TypeError: Object ’numpy.float64′ kan niet worden opgevraagd
Oplossing: Typefout: verwacht tekenreeks- of bytesobject

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert