해결 방법: valueerror: 모든 배열의 길이는 동일해야 합니다.


pandas를 사용할 때 발생할 수 있는 오류는 다음과 같습니다.

 ValueError : All arrays must be of the same length

이 오류는 Pandas DataFrame을 생성하려고 할 때 DataFrame의 모든 열 길이가 같지 않을 때 발생합니다.

다음 예에서는 실제로 이 오류를 수정하는 방법을 보여줍니다.

오류를 재현하는 방법

다음과 같은 pandas DataFrame을 생성하려고 한다고 가정해 보겠습니다.

 import pandas as pd

#define arrays to use as columns in DataFrame
team = ['A', 'A', 'A', 'A', 'B', 'B', 'B']
position = ['G', 'G', 'F', 'F', 'G', 'G', 'F', 'F']
points = [5, 7, 7, 9, 12, 9, 9, 4]

#attempt to create DataFrame from arrays
df = pd. DataFrame ({' team ': team,
                   ' position ': position,
                   ' dots ': dots})

ValueError : All arrays must be of the same length

각 배열의 길이가 동일하지 않다는 오류가 표시됩니다.

각 배열의 길이를 인쇄하여 이를 확인할 수 있습니다.

 #print length of each array
print ( len (team), len (position), len (points))

7 8 8

‘팀’ 테이블에는 7개의 요소만 있는 반면 ‘포지션’ 및 ‘포인트’ 테이블에는 각각 8개의 요소가 있음을 알 수 있습니다.

오류를 수정하는 방법

이 오류를 해결하는 가장 쉬운 방법은 사용하는 각 배열의 길이가 동일한지 확인하는 것입니다.

 import pandas as pd

#define arrays to use as columns in DataFrame
team = ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B']
position = ['G', 'G', 'F', 'F', 'G', 'G', 'F', 'F']
points = [5, 7, 7, 9, 12, 9, 9, 4]

#create DataFrame from arrays
df = pd. DataFrame ({' team ': team,
                   ' position ': position,
                   ' dots ': dots})

#view DataFrame
df

	team position points
0 A G 5
1 A G 7
2 A F 7
3 A F 9
4 B G 12
5 B G 9
6 B F 9
7 B F 4

이번에는 각 배열의 길이가 동일하다는 점에 유의하세요.

따라서 배열을 사용하여 pandas DataFrame을 생성할 때 각 열의 길이가 동일하기 때문에 오류가 발생하지 않습니다.

추가 리소스

다음 튜토리얼에서는 Python의 다른 일반적인 오류를 수정하는 방법을 설명합니다.

Pandas에서 KeyError를 수정하는 방법
해결 방법: ValueError: float NaN을 int로 변환할 수 없습니다.
해결 방법: ValueError: 피연산자를 모양과 함께 브로드캐스트할 수 없습니다.

의견을 추가하다

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