Pandas DataFrame에서 열 삭제하는 방법
Published on
데이터 과학자로서 DataFrame에서 데이터를 조작하는 것은 가장 일반적인 작업 중 하나입니다. 데이터 처리 워크플로우에서 중요하지 않은 열을 삭제하는 작업이 자주 발생합니다. 이 튜토리얼에서는 Pandas DataFrame에서 열을 삭제하는 방법을 살펴보겠습니다. 열 이름, 인덱스, 여러 열을 기준으로 열을 삭제하는 다양한 방법을 다룰 것입니다.
코드없이 Python Pandas Dataframe에서 데이터 시각화를 빠르게 만들고 싶다면?
PyGWalker는 시각화 기능을 갖춘 탐색적 데이터 분석을 위한 Python 라이브러리입니다. PyGWalker (opens in a new tab)는 pandas dataframe(및 polars dataframe)을 Tableau 스타일의 사용자 인터페이스로 변환하여 Jupyter Notebook 데이터 분석 및 데이터 시각화 워크플로우를 단순화할 수 있습니다.
Pandas DataFrame 개요
열과 행이 있는 2D 테이블 데이터 구조인 DataFrame을 살펴보기 전에 간단히 개요를 살펴보겠습니다.
데이터프레임에서 각 열은 시리즈입니다. 시리즈는 색인 라벨을 가진 값 배열의 1차원 데이터 구조입니다. 또한, 데이터프레임은 행 및 열 색인을 가질 수 있어 데이터 엑세스가 빠르고 효율적입니다.
Pandas DataFrame은 Python에서 데이터를 처리하고 조작하기 위한 강력한 도구입니다. 복잡한 데이터 분석, 데이터 정리, 데이터 전환 및 데이터 시각화 작업을 수행할 수 있습니다.
Pandas DataFrame에서 열 삭제
이제 Pandas DataFrame에서 열을 삭제하는 과정을 시작해보겠습니다. 요구 사항에 따라 DataFrame에서 열을 삭제하는 방법은 여러 가지가 있습니다. 아래에서 일부 인기있는 방법을 다룰 것입니다.
drop
메서드를 사용하여 열 삭제
DataFrame에서 열을 가장 쉽게 제거하는 방법은 drop
메서드를 사용하는 것입니다. drop
메서드를 사용하고 매개 변수 axis = 1
을 사용하여 열을 제거하려는 것을 나타낼 수 있습니다.
# 샘플 DataFrame 생성
import pandas as pd
data = {'name': ['Alex', 'Bob', 'Clarke', 'David'], 'age': [20, 25, 19, 18],'city': ['New York', 'Paris', 'London', 'Tokyo']}
df = pd.DataFrame(data)
# 'city' 열 제거
df = df.drop('city', axis=1)
print(df.head())
결과:
name age
0 Alex 20
1 Bob 25
2 Clarke 19
3 David 18
위의 예에서는 name
, age
, city
3개 열이 포함된 샘플 DataFrame을 만들었습니다. drop
메서드와 매개 변수 axis = 1
을 사용하여 city
열을 제거했습니다. 그런 다음 name
과 age
열만 있는 업데이트 된 DataFrame을 출력했습니다.
Subsetting 메서드를 사용하여 열 삭제
DataFrame에서 열을 제거하는 또 다른 방법은 subsetting 메서드 []
와 del
문을 사용하는 것입니다. del
문은 열을 DataFrame 객체에서 직접 제거합니다.
# 샘플 DataFrame 생성
import pandas as pd
data = {'name': ['Alex', 'Bob', 'Clarke', 'David'], 'age': [20, 25, 19, 18],'city': ['New York', 'Paris', 'London', 'Tokyo']}
df = pd.DataFrame(data)
# 'city' 열 삭제
del df['city']
print(df.head())
결과:
name age
0 Alex 20
1 Bob 25
2 Clarke 19
3 David 18
위의 예에서는 name
, age
, city
3개 열이 포함된 샘플 DataFrame을 만들었습니다. 색인 대괄호 처리 구문 []
와 del
문을 사용하여 city
열을 제거했습니다. 그린 다음 name
과 age
열만 있는 업데이트 된 DataFrame을 출력했습니다.### 여러 열 삭제
데이터프레임에서 여러 열을 삭제해야 할 때가 있습니다. 여러 열을 삭제하려면 drop
메서드에 열 이름의 리스트를 사용하여 여러 열을 제거할 수 있습니다.
# 샘플 데이터프레임 생성
import pandas as pd
data = {'name': ['Alex', 'Bob', 'Clarke', 'David'], 'age': [20, 25, 19, 18],'city': ['New York', 'Paris', 'London', 'Tokyo'], 'occupation': ['Engineer', 'Doctor', 'Artist', 'Lawyer']}
df = pd.DataFrame(data)
# 'city'와 'occupation' 열 제거
df = df.drop(['city', 'occupation'], axis=1)
print(df.head())
결과:
name age
0 Alex 20
1 Bob 25
2 Clarke 19
3 David 18
위 예제에서는 name
, age
, city
, occupation
네 개의 열을 가진 샘플 데이터프레임을 생성했습니다. drop
메서드에 열 이름의 리스트를 전달하여 city
와 occupation
열을 제거했습니다. 그 뒤 최종적으로 name
와 age
두 개의 열만 가지는 데이터프레임을 출력했습니다.
열 인덱스를 사용하여 열 삭제
열 인덱스를 사용하여 데이터프레임에서 열을 삭제할 수도 있습니다. 이 경우 drop
메서드에 columns
매개변수와 제거할 열의 인덱스를 지정하면 됩니다.
# 샘플 데이터프레임 생성
import pandas as pd
data = {'name': ['Alex', 'Bob', 'Clarke', 'David'], 'age': [20, 25, 19, 18],'city': ['New York', 'Paris', 'London', 'Tokyo']}
df = pd.DataFrame(data)
# 인덱스 2인 'city' 열 제거
df = df.drop(df.columns[2], axis=1)
print(df.head())
결과:
name age
0 Alex 20
1 Bob 25
2 Clarke 19
3 David 18
위 예제에서는 name
, age
, city
세 개의 열을 가진 샘플 데이터프레임을 생성했습니다. drop
메서드에 columns
매개변수와 열 인덱스(2
)를 지정하여 city
열을 제거했습니다. 그 뒤 최종적으로 name
와 age
두 개의 열만 가지는 데이터프레임을 출력했습니다.
조건을 만족하는 열 삭제
drop
메서드를 사용하여 조건에 따라 열을 제거할 수도 있습니다. 예를 들어 모든 값이 NaN
인 열을 모두 제거할 수 있습니다.
# 'city' 열의 모든 값이 NaN인 샘플 데이터프레임 생성
import pandas as pd
import numpy as np
data = {'name': ['Alex', 'Bob', 'Clarke', 'David'], 'age': [20, 25, 19, 18],'city': [np.nan, np.nan, np.nan, np.nan], 'occupation': ['Engineer', 'Doctor', 'Artist', 'Lawyer']}
df = pd.DataFrame(data)
# 모든 값이 NaN인 열 제거
df = df.dropna(how='all', axis=1)
print(df.head())
결과:
name age occupation
0 Alex 20 Engineer
1 Bob 25 Doctor
2 Clarke 19 Artist
3 David 18 Lawyer
위 예제에서는 name
, age
, city
, occupation
네 개의 열을 가진 샘플 데이터프레임을 생성했습니다. city
열의 값을 모두 NaN
으로 설정하였습니다. dropna
메서드에 how='all'
과 axis=1
매개변수를 지정하여 모든 값이 NaN
인 열을 제거하였습니다. 그 뒤 최종적으로 name
, age
, occupation
세 개의 열만 가지는 데이터프레임을 출력했습니다.
결론
판다스 데이터프레임에서 열을 제거하는 것은 데이터 과학자로서 꼭 알아야 하는 필수적인 작업 중 하나입니다. 이 튜토리얼에서는 열 이름, 인덱스, 여러 열을 기준으로 열을 제거하는 다양한 방법에 대해 다루었습니다. 이를 통해 데이터프레임을 다루는 작업의 효율성과 정확성을 높이는 데 도움이 되었을 것입니다.
자주 묻는 질문
-
파이썬 DataFrame에서 열을 삭제하는 방법은 무엇인가요?
파이썬 DataFrame에서 열을 삭제하기 위해서는
drop()
메서드를 사용하고axis
매개변수를 1로 설정하여 열 이름을 지정합니다. 이렇게 하면 DataFrame에서 지정한 열이 제거됩니다. 또는del
키워드를 사용하여 해당 열을 직접 삭제할 수도 있습니다. -
파이썬 DataFrame에서 여러 열을 동시에 삭제할 수 있나요?
네, 파이썬 DataFrame에서는 여러 열을 동시에 삭제할 수 있습니다.
drop()
메서드에 열 이름의 리스트를 전달하거나drop()
메서드를 여러 번 사용하여 각각 다른 열 이름을 지정할 수 있습니다. 이렇게 하면 지정한 모든 열이 DataFrame에서 제거됩니다. -
파이썬 DataFrame에서 특정 조건에 따라 열을 삭제할 수 있나요?
네, 파이썬 DataFrame에서는 특정 조건에 따라 열을 삭제할 수 있습니다. 불리언 인덱싱이나
loc
인덱서를 사용하여 원하는 조건을 충족하는 열을 선택한 다음drop()
메서드를 사용하여 해당 열을 DataFrame에서 제거할 수 있습니다. 이를 통해 특정 기준에 따라 열을 선택적으로 삭제할 수 있습니다.