해결 방법: 첫 번째 인수는 팬더 객체의 반복 가능이어야 하며 "dataframe" 유형의 객체를 전달했습니다.


Python을 사용할 때 발생할 수 있는 일반적인 오류는 다음과 같습니다.

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

이 오류는 일반적으로 DataFrame 이름을 괄호 안에 넣지 않고 concat() 함수를 사용하여 두 개의 Pandas 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"

concat() 함수에서 DataFrame 이름을 괄호로 묶는 데 실패했기 때문에 오류가 발생했습니다.

오류를 수정하는 방법

이 오류를 해결하는 방법은 다음과 같이 concat() 함수에서 DataFrame 이름을 대괄호로 묶는 것입니다.

 #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’ 개체를 호출할 수 없습니다.
수정 방법: TypeError: ‘numpy.float64’ 개체를 호출할 수 없습니다.
수정 방법: 유형 오류: 예상 문자열 또는 바이트 개체

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다