Pandas: DataFrame 컬럼 길이가 다를 때

calico·2025년 11월 25일

Artificial Intelligence

목록 보기
118/184
  • 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
All views expressed here are solely my own and do not represent those of any affiliated organization.

0개의 댓글