본문 바로가기
Python/Pandas

pandas ValueError: too many values to unpack 오류 해결하기

by PySun 2025. 5. 20.
반응형

소개

Pandas를 사용하다가 'ValueError: too many values to unpack' 오류가 발생하는 경우는 자주 발생하는 문제입니다. 이 오류는 unpacking 과정에서 제공되는 값의 수가 예상보다 많을 때 발생합니다. 이 블로그 게시물에서는 이 오류의 원인과 해결 방법을 알아보겠습니다.

에러 발생 예시 코드

먼저, 'ValueError: too many values to unpack' 에러가 발생할 가능성이 있는 간단한 코드를 살펴보겠습니다.

import pandas as pd

# 더미 데이터프레임 생성
data = {'A': [1, 2], 'B': [3, 4], 'C': [5, 6]}
df = pd.DataFrame(data)

# unpacking 시도
x, y = df.itertuples(index=False)
print(x, y)

에러 해결 방법

1. unpacking할 값의 수 확인

unpacking하는 변수의 수는 iterable의 값의 수와 맞아야 합니다. 만약 df.itertuples()의 반환 결과가 여러 개의 값이라면, unpacking하는 변수를 그에 맞추어 조정해야 합니다.

import pandas as pd

# 더미 데이터프레임 생성
data = {'A': [1, 2], 'B': [3, 4], 'C': [5, 6]}
df = pd.DataFrame(data)

# itertuples()로 데이터프레임의 행을 반복
for row in df.itertuples(index=False):
    print(row)

2. unpacking을 하지 않고 전체 튜플을 사용하기

한 번에 모든 값을 사용해야 할 필요가 있다면, 다음과 같이 전체 row를 하나의 변수로 받고, 필요한 값을 사용할 수 있습니다.

import pandas as pd

# 더미 데이터프레임 생성
data = {'A': [1, 2], 'B': [3, 4], 'C': [5, 6]}
df = pd.DataFrame(data)

# itertuples()로 데이터프레임의 행을 반복
for row in df.itertuples(index=False):
    print(f"A: {row.A}, B: {row.B}, C: {row.C}")

마무리

이번 블로그 게시물에서는 Pandas에서 발생하는 'ValueError: too many values to unpack' 오류의 원인과 해결 방법을 살펴보았습니다. unpacking이 되는 값의 수를 확인하고, 적절하게 변수의 수를 조정하는 것이 중요합니다. DataFrame을 다룰 때는 항상 데이터를 어떻게 가져올지 명확히 하여 이와 같은 오류를 예방하는 것이 좋습니다. Pandas를 이용한 데이터 분석을 통해 기쁜 순간들이 가득하길 바랍니다!

반응형