해결 방법: 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: 피연산자를 모양과 함께 브로드캐스트할 수 없습니다.