Как исправить: первый аргумент должен быть итерацией объектов pandas, вы передали объект типа «dataframe»;


Распространенная ошибка, с которой вы можете столкнуться при использовании Python:

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

Эта ошибка обычно возникает, когда вы пытаетесь использовать функцию concat() для добавления двух кадров данных pandas вместе, не помещая имена DataFrame в круглые скобки.

В следующем примере показано, как устранить эту ошибку на практике.

Как воспроизвести ошибку

Предположим, у нас есть следующие два кадра данных panda:

 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

Обратите внимание, что на этот раз мы можем успешно объединить два DataFrame без каких-либо ошибок.

Дополнительные ресурсы

В следующих руководствах объясняется, как исправить другие распространенные ошибки в Python:

Как исправить в Python: объект «numpy.ndarray» не подлежит вызову
Как исправить: Ошибка типа: объект «numpy.float64» не может быть вызван
Как исправить: Ошибка типа: ожидаемый строковый или байтовый объект

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *