Jak naprawić: pierwszy argument musi być iterowalny dla obiektów pand, przekazałeś obiekt typu „dataframe”;


Częstym błędem, jaki możesz napotkać podczas używania Pythona, jest:

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

Ten błąd zwykle występuje, gdy próbujesz użyć funkcji concat() w celu dodania dwóch ramek danych pand razem bez umieszczania nazw ramek danych w nawiasach.

Poniższy przykład pokazuje, jak w praktyce rozwiązać ten błąd.

Jak odtworzyć błąd

Załóżmy, że mamy następujące dwie ramki danych pandy:

 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

Załóżmy teraz, że spróbujemy użyć funkcji concat() w celu dodania dwóch ramek danych do jednej ramki danych:

 #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"

Otrzymujemy błąd, ponieważ nie udało nam się umieścić nazw DataFrame w nawiasach w funkcji concat() .

Jak naprawić błąd

Sposobem rozwiązania tego błędu jest po prostu umieszczenie nazw DataFrame w nawiasach kwadratowych w funkcji concat() w następujący sposób:

 #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

Zauważ, że tym razem udało nam się pomyślnie połączyć dwie ramki DataFrame bez żadnych błędów.

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak naprawić inne typowe błędy w Pythonie:

Jak naprawić w Pythonie: Obiektu „numpy.ndarray” nie można wywołać
Jak naprawić: TypeError: Obiekt „numpy.float64” nie jest wywoływalny
Jak naprawić: Błąd typu: Oczekiwany obiekt typu String lub Bytes

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *