Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python Pandas 데이터프레임에서 열(Column)을 삭제하는 방법

데이터프레임(DataFrame)은 데이터를 행(row)과 열(column)의 표 형식으로 저장하는 2차원 데이터 구조입니다.

SQL 테이블이나 엑셀 시트와 비슷한 형태로 시각화할 수 있으며, Python의 pandas 라이브러리에서 가장 핵심적으로 사용되는 자료 구조입니다. 데이터프레임에서 특정 열을 삭제하는 방법은 여러 가지가 있는데, 그중 하나가 바로 del 연산자를 사용하는 것입니다. del은 삭제할 열의 이름을 매개변수로 받아 해당 열을 제거합니다.

예제 코드

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 'del' operator")
del my_df['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 'del' operator
     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' 함수에 매개변수로 전달되어 데이터프레임을 생성합니다.

  • 'del' 키워드를 사용하여 특정 열을 삭제합니다.

  • 삭제하고자 하는 열의 이름이 'del' 연산자의 매개변수로 전달됩니다.

  • 열이 삭제된 새로운 데이터프레임이 콘솔에 출력됩니다.

다른 방법: drop() 함수 활용

del 연산자 외에도 pandas에서 기본 제공하는 drop() 함수를 사용할 수 있습니다. 이 함수는 원본 데이터프레임을 그대로 두고 열이 삭제된 새로운 데이터프레임을 반환한다는 점이 특징입니다.

# 'cd' 열을 삭제한 새 데이터프레임 반환
my_df = my_df.drop('cd', axis=1)

# inplace=True 옵션으로 원본을 직접 수정할 수도 있습니다
my_df.drop('cd', axis=1, inplace=True)

axis=1은 열 방향으로 동작하도록 지정하는 옵션이며, 기본값인 axis=0은 행(row)을 대상으로 작동합니다. 원본 데이터를 보존해야 하는 경우에는 drop()을, 간단하게 원본을 바로 수정해도 되는 경우에는 del을 사용하는 것이 좋습니다.

참고: 'NaN'은 'Not a Number(숫자 아님)'를 의미하며, 해당 [행, 열] 위치에 유효한 값이 존재하지 않는다는 뜻입니다.