Pandas - Dataframe 열 삭제하는 방법(drop)

안녕하세요 jay입니다.
오늘은 Pandas Dataframe에서 열을 삭제하는 법에 대해 알아보도록 하겠습니다.
사실 열 삭제하는 방법은 상당히 다양합니다.
저는 drop이라는 메소드를 사용해서 삭제를 해보도록 하겠습니다.

1. 열 삭제 기준잡기

열 삭제 전, 열 삭제하는 모든 경우의 수에 대해 생각을 해보았습니다.
아래와 같은 경우가 나옵니다
  • 열 번호로 삭제하기.
    • 열 하나만 삭제하기 
    • 열을 슬라이싱해서 삭제하기
    • 다수의 각각 다른 열을 삭제하기
  • 열 명으로 삭제하기
    • 열 하나만 삭제하기 
    • 열을 슬라이싱해서 삭제하기
    • 다수의 각각 다른 열을 삭제하기
Dataframe에서 원하는 열을 지우고 싶을 때, 크게 몇 번째 혹(열 번호)은 어떤 열(열 명)을 삭제하는 경우로 나눌 수 있습니다. 그리고 열 하나만 지울지, 혹은 슬라이싱해서 이어서 삭제할지 혹은 각각 띄엄띄엄 다른 열들을 지우는 경우로 나눌 수 있습니다. 위의 도식대로 열을 삭제해보도록 하겠습니다.



2. 예제 데이터 간단하게 파악하기
서울시 구별로, 인구수 및 CCTV수 등을 나타내는 데이터 입니다. 이 데이터를 바탕으로 열 삭제 예제를 진행해보도록 하겠습니다. 이 원본데이터로 삭제 전과 삭제후를 비교하시면 됩니다.




3. 열 변호로 삭제하기

1) 열 하나만 삭제하기

# 열 번호로 단일열 삭제
# 0 => 원하는 컬럼 넘버
# axis = 1 => 기준 축을 열로
# inpalce = True drop을 원본데이터에 적용

df.drop(df.columns[0], axis=1, inplace = True)
df

삭제전


삭제후

0번째 열인 "총인구수" 열이 삭제된 것을 볼 수 있습니다.

2) 열을 슬라이싱해서 삭제하기

# slicing으로 열 다중삭제
# 0~2까지 열 삭제(인구수, 한국인, 외국인)
# inpalce = True drop을 원본데이터에 적용
df.drop(df.columns[0:3], axis=1, inplace = True)

삭제전


삭제후

0~2번째 열인 인구수, 한국인, 외국인 열이 삭제된 것을 볼 수 있습니다.

3) 다수의 각각 다른 열을 삭제하기

# 원하는 인덱스로 column 다중삭제
# 1번, 3번 인덱스 컬럼 삭제(한국인, 고령자)
# axis = 1 => 축 열로
# inpalce = True drop을 원본데이터에 적용
# 다수도 가능(3개도 가능) 

df.drop([df.columns[1], df.columns[3]],  axis=1 , inplace = True)

삭제전


삭제후

1번째, 3번째 열인 한국인 고령자 열이 삭제된 것을 볼 수 있습니다




4. 열 명으로 삭제하기

1) 열 하나만 삭제하기

# 인덱스 명으로 단일열 삭제
# "총인구수" 열 삭제
# axis = 1 => 축 열로
# inpalce = True drop을 원본데이터에 적용

df.drop(["총인구수"], axis=1, inplace = True)

삭제전


삭제후


2) 열을 슬라이싱해서 삭제하기

찾으면 업데이트 예정.. 아마 없을듯.. 있다면 댓글 부탁드리겠습니다.

3) 다수의 각각 다른 열을 삭제하기

# 인덱스 명으로 다수열 삭제
# 총인구수, 한국인, CCTV/고령자 열 싹제
# axis = 1 => 축 열로
# inplace = True , drop을 원본데이터에 적용

df.drop(["총인구수","한국인", "CCTV/고령자"], axis=1, inplace = True)

삭제전


삭제후


총인구수, 한국인, CCTV/고령자 열이 삭제되었습니다.

댓글

댓글 쓰기