Pandas에서 열 존재 여부 확인하기
in 연산자 사용:
import pandas as pd
# 데이터프레임 생성
df = pd.DataFrame({'열1': [1, 2, 3], '열2': [4, 5, 6]})
# 특정 열 존재 여부 확인
열_이름 = '열3'
if 열_이름 in df.columns:
print(f"{열_이름} 열이 존재합니다.")
else:
print(f"{열_이름} 열이 존재하지 않습니다.")
has_column 메서드 사용:
# has_column 메서드 사용
if df.has_column(열_이름):
print(f"{열_이름} 열이 존재합니다.")
else:
print(f"{열_이름} 열이 존재하지 않습니다.")
주의 사항:
- 위 코드에서
열_이름
변수는 확인하고 싶은 열 이름으로 변경해야 합니다. - 두 방법 모두 동일한 결과를 제공하지만,
in
연산자는 더욱 간결하고 널리 사용됩니다. has_column
메서드는 Pandas 0.23.0 이후 버전에서 사용 가능합니다.
import pandas as pd
# 데이터프레임 생성
df = pd.DataFrame({'열1': [1, 2, 3], '열2': [4, 5, 6], '열3': [7, 8, 9]})
# 존재하는 열 확인
열_이름1 = "열3"
열_이름2 = "열4"
# in 연산자 사용
if 열_이름1 in df.columns:
print(f"{열_이름1} 열이 존재합니다.")
else:
print(f"{열_이름1} 열이 존재하지 않습니다.")
if 열_이름2 in df.columns:
print(f"{열_이름2} 열이 존재합니다.")
else:
print(f"{열_이름2} 열이 존재하지 않습니다.")
# has_column 메서드 사용
if df.has_column(열_이름1):
print(f"{열_이름1} 열이 존재합니다.")
else:
print(f"{열_이름1} 열이 존재하지 않습니다.")
if df.has_column(열_이름2):
print(f"{열_이름2} 열이 존재합니다.")
else:
print(f"{열_이름2} 열이 존재하지 않습니다.")
- 위 코드는
in
연산자와has_column
메서드를 사용하여 두 개의 열 존재 여부를 확인하는 예시입니다. 열_이름1
변수에는 "열3"이라는 값이 할당되었으며, 이 열은 실제로 데이터프레임에 존재합니다.- 코드 실행 결과는 다음과 같습니다.
열3 열이 존재합니다.
열4 열이 존재하지 않습니다.
열3 열이 존재합니다.
열4 열이 존재하지 않습니다.
import pandas as pd
# 데이터프레임 생성
df = pd.DataFrame({'열1': [1, 2, 3], '열2': [4, 5, 6]})
# 열 존재 여부 확인
열_이름 = '열3'
try:
df[열_이름]
print(f"{열_이름} 열이 존재합니다.")
except KeyError:
print(f"{열_이름} 열이 존재하지 않습니다.")
get 메서드 사용:
import pandas as pd
# 데이터프레임 생성
df = pd.DataFrame({'열1': [1, 2, 3], '열2': [4, 5, 6]})
# 열 존재 여부 확인
열_이름 = '열3'
열 = df.get(열_이름)
if 열 is not None:
print(f"{열_이름} 열이 존재합니다.")
else:
print(f"{열_이름} 열이 존재하지 않습니다.")
iloc 인덱서 사용:
import pandas as pd
# 데이터프레임 생성
df = pd.DataFrame({'열1': [1, 2, 3], '열2': [4, 5, 6]})
# 열 존재 여부 확인
열_이름 = '열3'
try:
df.iloc[:, df.columns.get_loc(열_이름)]
print(f"{열_이름} 열이 존재합니다.")
except KeyError:
print(f"{열_이름} 열이 존재하지 않습니다.")
설명:
- 위 코드들은 모두 동일한 기능을 수행하지만, 코드 스타일과 가독성 측면에서 다소 차이가 있습니다.
try-except
블록은 코드 오류 처리에 유용한 방식이며,get
메서드는None
값을 사용하여 존재 여부를 확인하는 간편한 방법입니다.iloc
인덱서는 특정 열 위치를 기반으로 존재 여부를 확인하는 방법으로, 다만get_loc
메서드를 사용해야 하기 때문에 다소 복잡합니다.
get
메서드를 사용할 때는KeyError
예외 처리를 반드시 해야 합니다.iloc
인덱서를 사용할 때는열_이름
변수가 실제 열 이름과 일치하는지 확인해야 합니다.
python pandas dataframe