728x90
반응형
# 1. 에러명
오늘 뜬 에러는 'local variable 'df' referenced before assignment' 입니다.
pandas 라이브러리 를 사용하다가 해당 에러가 발생했습니다.
해결법을 알아보도록 하겠습니다.
# 2. 해결방법
1) 함수 내에서 변수를 참조하기 전에 할당하지 않은 경우
def example_function():
print(df) # df를 할당하기 전에 참조하고 있음
df = "Hello, World!"
example_function()
해결방법
df 를 할당한 후에 참조함
def example_function():
df = "Hello, World!"
print(df)
example_function()
2) 함수 내에서 전역 변수를 사용하려고 하는 경우
df = "전역 변수"
def example_function():
print(df) # 함수 내에서 전역 변수를 참조하려고 함
df = "로컬 변수"
example_function()
해결방법
전역 변수를 함수 내에서 사용하려면 global 키워드를 사용하여 변수를 전역 변수로 선언해야 합니다.
df = "전역 변수"
def example_function():
global df
print(df)
df = "로컬 변수"
example_function()
3) 변수를 전역 및 로컬 범위에서 모두 사용하는 경우
df = "전역 변수"
def example_function():
print(df) # 로컬 변수 및 전역 변수 모두를 참조하려고 함
df = "로컬 변수"
print(df)
example_function()
해결방법
변수를 사용하는 범위를 명확히 구분해야 합니다. 필요한 경우 전역 변수를 globals() 함수를 사용하여 명시적으로 참조할 수 있습니다.
df = "전역 변수"
def example_function():
global df # 전역 변수로 선언
print(df)
df = "로컬 변수"
print(df)
example_function()
해당 에러는 데이터 참조 시점을 잘 파악하면 금방 해결될 문제 입니다.
저와 같은 에러를 겪은 분들이 편하게 해결하실 수 있기를!!
반응형