250x250
250x250
  • 분류 전체보기 (48)
    • Save Your TIME (1)
      • WORK SMART - RPA (0)
      • 비 전공 직장인의 업무 자동화 고군분투기 (1)
    • Make a lot of MONEY (0)
      • 부동산 (0)
    • PYTHON (45)
      • BASIC (3)
      • pandas (3)
      • tkinter (8)
      • LIBRARY | ETC (1)
      • Tips (19)
      • Error Solutions (11)
    • EXCEL (0)
      • BASIC (0)
      • TIP (0)
    • Life & Education (2)
      • 초등 수학 (2)
      • English (0)
    • TISTORY (0)
      • ABOUT BLOG (0)
      • TIP (0)
    • Reference (0)
hELLO · Designed By 정상우.
Creatio ex nihilo

Py Life

(5min. Python) pandas dataframe 열(column) 삭제
PYTHON/Tips

(5min. Python) pandas dataframe 열(column) 삭제

2022. 9. 27. 13:09
728x90
반응형

"Life is too short, You need python"

데이터 프레임으로 작업을 하다 보면 하나 이상의 열(column)을 삭제해야 하는 경우가 있습니다. 하나 이상의 열(column)을 삭제하는 방법에 대해 간단히 알아보도록 하겠습니다.

 


 

DataFrame(데이터 프레임) 삭제

 

 

 

 

drop() method를 이용하여 한 개 이상의 열을 삭제합니다.

 


 

Syntax ( 구문 )

 

df_pylife_drop = df_pylife.drop(['column'], axis = 1, inplace = True)

 


 

Option Parameters

 

위젯의 구문 Option으로 추가해도 되고 .Config() Method를 통해 설정도 가능합니다.

 

- axis -

 

axis = 0 : 행(row) 선택 옵션

axis = 1 : 열(column) 선택 옵션

 

 

- inplace -

 

inplace = True : 명령어 실행  후 메소드가 적용된 데이터 프레임으로 반환한다.

inplace = False : 명령어 실행 후 메서드가 적용된 데이터 프레임을 기존 데이터 프레임으로 대체

 

 

*** inplace 옵션은 drop과 같은 주요 메서드들이 가지고 있으며, 디폴트 값은 False이다.
***  inplace = True이면 drop을 적용한 dataframe 결과값으로 반환 메모리를 Copy 하여 삭제하지 않고

     원본 Dataframe의 메모리에 그대로 적용. 즉, 삭제 메서드를 실행했다면 반환 값은 칼럼이 삭제된 Dataframe
*** inplace = False이면 drop을 적용했지만, 결과값은 drop 메서드가 적용되지 않는 dataframe으로 반환
     보통 코드 작성 시에 inplace=False를 사용하는 것이 오히려 실수를 줄일 수 있다. 
     false 옵션을 적어 놓으면, 직관적이고, 실수로 원본 데이터를 잘못 삭제하는 경우도 대비 가능 

 


 

Example (Use Case)

 

drop method를 활용하여 dataframe의 열을 삭제해 보겠습니다.

 

위의 data에서 Science와 Sum 열을 삭제해 보도록 하겠습니다.

 

Input »

 

 

import pandas as pd

df = pd.read_excel(r'D:\PYLIFE\pandas\subject_grade.xlsx')
print(df)
print(df.columns)

 

Data를 불러와 dataframe을 출력하고 열 정보도 확인합니다.

   No.      Name  Age  English  Math  Science  Sum       Avg. Grade
0    1      Emma   16       97    69       18  184  61.333333     B
1    2      Noah   17       70    69       53  192  64.000000     B
2    3    Sophia   18       60    97       93  250  83.333333     A
3    4       Mia   14       76    46       11  133  44.333333     C
4    5   Jackson   15       19    43       30   92  30.666667    D+
5    6       Ava   16       29     6       97  132  44.000000     C
6    7  Isabella   16       95    83       66  244  81.333333     A
7    8      Aria   18       77     8       78  163  54.333333    C+
8    9    Olivia   13       73    48       74  195  65.000000     B
9   10    Amelia   17       97    98       41  236  78.666667    B+


Index(['No.', 'Name', 'Age', 'English', 'Math', 'Science', 'Sum', 'Avg.',
       'Grade'],
      dtype='object')

 

import pandas as pd

df = pd.read_excel(r'D:\PYLIFE\pandas\subject_grade.xlsx')
df_pylife_drop = df.drop(['Science', 'Sum'], axis = 1, inplace = True)

print(df)
print(df.columns)

 

 

Output »

 

 

아래와 같이 'Science'와 'Sum' 열이 삭제된 것을 확인할 수 있습니다.

   No.      Name  Age  English  Math       Avg. Grade
0    1      Emma   16       97    69  61.333333     B
1    2      Noah   17       70    69  64.000000     B
2    3    Sophia   18       60    97  83.333333     A
3    4       Mia   14       76    46  44.333333     C
4    5   Jackson   15       19    43  30.666667    D+
5    6       Ava   16       29     6  44.000000     C
6    7  Isabella   16       95    83  81.333333     A
7    8      Aria   18       77     8  54.333333    C+
8    9    Olivia   13       73    48  65.000000     B
9   10    Amelia   17       97    98  78.666667    B+
Index(['No.', 'Name', 'Age', 'English', 'Math', 'Avg.', 'Grade'], dtype='object')

 


 

마무리

 

dataframe 하나 이상의 열(column)을 삭제/제거하는 방법에 대해 알아보았습니다.

 

 

 

728x90
반응형
저작자표시 비영리 변경금지 (새창열림)

'PYTHON > Tips' 카테고리의 다른 글

(5min. Python) Pandas 데이터 프레임(Dataframe) 터미널 출력 시 생략된 부분 보이게 설정  (0) 2023.02.21
(5min. Python) tkinter event 처리 ( command / bind )  (0) 2022.07.08
(Python/Basic) Index 1부터 시작하고 싶을 때 ( start at 1 instead of 0 )  (0) 2022.07.07
(5min. Python) 예시로 보는 정규 표현식(Regular Expressions)  (0) 2022.07.06
(5min. Python) 파이썬 정규 표현식 (Regular Expressions) - 메타문자(Meta Characters) 의미와 사용법  (0) 2022.07.06
    Creatio ex nihilo
    Creatio ex nihilo
    "Life is too short, You need python"

    티스토리툴바