"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)을 삭제/제거하는 방법에 대해 알아보았습니다.
'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 |