데이터프레임(DataFrame)은 2차원 데이터 구조로, 데이터가 행과 열 형태의 표(tabular) 방식으로 저장됩니다.
SQL 데이터 테이블이나 엑셀 스프레드시트와 비슷한 구조라고 생각하면 이해하기 쉽습니다. 데이터프레임에서 특정 열을 삭제하는 방법은 여러 가지가 있는데, 그중 하나가 바로 pop() 함수입니다.
pop() 함수는 삭제하려는 열의 이름을 매개변수로 받아 해당 열을 제거하며, 삭제된 열을 Series 객체로 반환한다는 특징이 있습니다. 또한 drop() 메서드와 달리 원본 데이터프레임에서 직접 열을 제거하는 in-place 연산을 수행합니다.
예제 코드
import pandas as pd
my_data = {'ab' : pd.Series([1, 8, 7], index=['a', 'b', 'c']),
'cd' : pd.Series([1, 2, 0, 9], index=['a', 'b', 'c', 'd']),
'ef' : pd.Series([56, 78, 32],index=['a','b','c']),
'gh' : pd.Series([66, 77, 88, 99],index=['a','b','c', 'd']) }
my_df = pd.DataFrame(my_data)
print("The dataframe is :")
print(my_df)
print("Deleting the column using the 'pop' function")
my_df.pop('cd')
print(my_df)실행 결과
The dataframe is : ab cd ef gh a 1.0 1 56.0 66 b 8.0 2 78.0 77 c 7.0 0 32.0 88 d NaN 9 NaN 99 Deleting the column using the 'pop' function ab ef gh a 1.0 56.0 66 b 8.0 78.0 77 c 7.0 32.0 88 d NaN NaN 99
코드 설명
필요한 라이브러리를 임포트하고, 사용 편의성을 위해 별칭(alias)을 지정합니다.
키(key)와 값(value)으로 구성된 딕셔너리를 생성하며, 이때 값은 실제로 Series 데이터 구조입니다.
생성된 딕셔너리는 이후 pandas 라이브러리의
DataFrame함수에 매개변수로 전달되어 데이터프레임으로 변환됩니다.pop()함수를 호출하여 특정 열을 삭제합니다.삭제할 열의 이름('cd')이 문자열 형태로
pop()함수의 매개변수로 전달됩니다.열이 삭제된 새로운 데이터프레임이 콘솔에 출력됩니다.
출력 결과 분석
실행 결과를 보면 'cd' 열이 완전히 사라진 것을 확인할 수 있습니다. 나머지 열들의 데이터는 그대로 유지되며, 각 열마다 인덱스 개수가 달라 생기던 NaN 값도 동일하게 표시됩니다.
참고: 'NaN'(Not a Number)은 해당 [행, 열] 위치에 유효한 값이 없음을 의미합니다. 위 예제에서는 'ab'와 'ef' 열에 인덱스 'd'에 해당하는 값이 없어 NaN으로 표시됩니다.