ValueError: ('Lengths must match to compare'는 비교 연산에서 양측의 길이가 다를 때 나타나는 에러이다.
다만 아래와 같은 오타가 생성되었을 때도 자주 나타난다.
import pandas as pd
data = {'colA': {0: 2, 1: 1, 2: 3}, 'colB': {0: 1, 1: 2, 2: 3}}
df = pd.DataFrame(data)
colA와 colB를 비교해보자
df['colA'] > df['colB']
열을 인덱싱해서 간단한 비교연산자를 쓰는 것으로 비교가 가능하다
이 때 df['colA'] 처럼 열을 인덱싱해야 하는데 변수를 빠뜨리고 ['colA']만 입력해도
비교 대상의 길이가 달라지기에 아래와 같은 에러가 난다.
['colA'] > df['colB']
ValueError: ('Lengths must match to compare', (3,), (1,))