Як виправити: перший аргумент має бути iterable об’єктів pandas, ви передали об’єкт типу “dataframe”;


Поширена помилка, з якою ви можете зіткнутися під час використання Python:

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

Ця помилка зазвичай виникає, коли ви намагаєтесь використати функцію concat() , щоб додати два фрейми даних panda разом, не вводячи імена фреймів у дужках.

У наступному прикладі показано, як вирішити цю помилку на практиці.

Як відтворити помилку

Припустімо, що ми маємо наступні два panda DataFrames:

 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

Зауважте, що цього разу ми можемо успішно об’єднати два DataFrames без будь-яких помилок.

Додаткові ресурси

У наступних посібниках пояснюється, як виправити інші типові помилки в Python:

Як виправити в Python: об’єкт «numpy.ndarray» не можна викликати
Як виправити: TypeError: Об’єкт ‘numpy.float64’ не можна викликати
Як виправити: помилка типу: очікуваний рядок або об’єкт Bytes

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *