Pandas: DataFrame 컬럼 길이가 다를 때

calico·2025년 11월 25일

Artificial Intelligence

목록 보기
118/143
  • pandas DataFrame 은 모든 컬럼의 길이가 동일해야만 생성됩니다.
  • 길이가 다르면 에러(ValueError)가 발생합니다.
  • 모델 입력(X)과 라벨(y) 의 개수도 반드시 동일해야 합니다. 다르면 학습 자체가 불가능합니다.

1. DataFrame 컬럼 길이가 다를 때


예를 들어 age 가 8개, income 이 7개라면:

ValueError: arrays must all be same length

즉, DataFrame 조차 만들어지지 않습니다.



2. X, y 의 길이가 다르면?


예시:

X.shape → (8, 2)
y.shape → (7,)

이렇게 되면 모델에 fit 할 때:

ValueError: Found input variables with inconsistent numbers of samples

이라는 에러가 납니다.



3. 실무에서는 어떻게 해결할까?


일반적으로 아래 방법 중 하나를 사용합니다.


1) 결측 행 제거하기


데이터 길이가 달라진 이유가 결측치 때문이면:

df = df.dropna()
X = df[['age', 'income']]
y = df['label']



2) 누락된 데이터를 채우기(imputation)


예:

  • age 가 비었으면 평균/중앙값으로 채워 넣기

  • income 이 비었으면 0 또는 평균/중앙값

df['income'] = df['income'].fillna(df['income'].median())



3) y(라벨) 이 부족한 경우 → 제거 또는 라벨링 다시 맞추기


  • 라벨이 없는 행은 모델 학습에 사용할 수 없으므로 제거

  • 또는 라벨링 오류라면 데이터 팀에 요청해서 누락된 라벨 채워 넣기



4. 길이가 맞는지 빠르게 확인하는 방법


print(len(df))
print(len(X))
print(len(y))



profile
https://velog.io/@corone_hi/posts

0개의 댓글