Pandas에서 열 세트 선택/제외
Pandas에서 열 세트를 선택하거나 제외하는 방법은 다음과 같습니다.
특정 열 선택하기
열 이름으로 선택:
df[['name', 'age']]
loc
인덱싱 사용:df.loc[:5, ['name', 'age']]
|
연산자 사용:df[['name', 'age', 'score']]
list
사용:- 열 이름을
list
로 만들어서 사용할 수도 있습니다.
cols = ['name', 'age', 'score'] df[cols]
- 열 이름을
특정 조건에 맞는 열 선택하기
filter
함수 사용:filter
함수를 사용하여 특정 조건에 맞는 열을 선택할 수 있습니다. 람다 식을 사용하여 조건을 정의하고, 해당 조건을 만족하는 열만 선택합니다. 예를 들어, 열 이름이 'a'로 시작하는 열을 모두 선택하려면 다음과 같이 입력합니다.
def g(col): return col.startswith('a') df.filter(like=g)
열 제외하기
df[['name', 'score']]
~
연산자를 사용하여 제외하려는 열을 포함하지 않는 새로운 열 목록을 만들 수 있습니다. 예를 들어, 'age' 열을 제외한 모든 열을 선택하려면 다음과 같이 입력합니다.
df.loc[:, ~(df.columns == 'age')]
drop
함수 사용:df.drop('age', axis=1, inplace=True)
이처럼 Pandas에서 데이터프레임의 열을 선택하거나 제외하는 방법은 다양하게 존재합니다. 상황에 맞는 방법을 선택하여 원하는 데이터만을 추출하고 분석에 활용하십시오.
- [Python에서 Pandas 데이터프레임의 특정 열 선택하기](
Pandas에서 열 선택/제외 예제 코드
import pandas as pd
# 데이터프레임 생성
data = {'name': ['Alice', 'Bob', 'Charlie', 'David'],
'age': [30, 25, 22, 27],
'score': [80, 95, 70, 88]}
df = pd.DataFrame(data)
# 'name'과 'age' 열 선택
df_selected = df[['name', 'age']]
print(df_selected)
# 'loc' 인덱싱 사용하여 첫 번째 5행의 'name'과 'age' 열 선택
df_selected = df.loc[:5, ['name', 'age']]
print(df_selected)
# 여러 열 선택 (| 연산자 사용)
df_selected = df[['name', 'age', 'score']]
print(df_selected)
# 여러 열 선택 (list 사용)
cols = ['name', 'age', 'score']
df_selected = df[cols]
print(df_selected)
# 'a'로 시작하는 열 선택 (filter 함수 사용)
def g(col):
return col.startswith('a')
df_selected = df.filter(like=g)
print(df_selected)
# 'age' 열 제외 ([] 인덱싱 사용)
df_selected = df[['name', 'score']]
print(df_selected)
# 'age' 열 제외 (~ 연산자 사용)
df_selected = df.loc[:, ~(df.columns == 'age')]
print(df_selected)
# 'age' 열 삭제 (drop 함수 사용)
df.drop('age', axis=1, inplace=True)
print(df)
Pandas에서 열 선택/제외를 위한 대체 방법
iat 및 loc 인덱싱 사용:
iat
인덱싱은 행 및 열 인덱스를 사용하여 데이터프레임의 특정 값에 직접 접근하는 방법입니다. 열 선택을 위해서는 행 인덱스를 생략하고 열 인덱스만 사용하면 됩니다. 예를 들어, 'name' 열의 첫 번째 값을 선택하려면 다음과 같이 입력합니다.
df.iat[0, 'name']
df.loc[:, 'name']
axis 매개변수 사용:
[]
인덱싱,loc
인덱싱,drop
함수 등에서axis
매개변수를 사용하여 행 또는 열을 지정할 수 있습니다. 기본적으로axis=0
은 행을,axis=1
은 열을 의미합니다.
idxmax() 및 idxmin() 함수 사용:
- 특정 열에서 최대값 또는 최소값을 기준으로 행을 선택할 수 있습니다. 예를 들어, 'score' 열에서 최대값을 가진 행을 선택하려면 다음과 같이 입력합니다.
df.loc[df['score'].idxmax()]
query 함수 사용:
- SQL 문법과 유사한 문자열을 사용하여 데이터프레임을 필터링할 수 있습니다. 열 선택을 위해서는
where
절에서 조건을 설정하면 됩니다. 예를 들어, 'name'이 'Alice'이고 'age'가 30인 행을 선택하려면 다음과 같이 입력합니다.
df.query("name == 'Alice' and age == 30")
melt 및 pivot_table 함수 사용:
- 데이터프레임의 구조를 변경하여 열 선택을 수행할 수 있습니다.
melt
함수는 데이터프레임을 열과 행으로 변환합니다.pivot_table
함수는 데이터프레임을 교차표 형태로 변환합니다. 변환 후 원하는 열을 선택할 수 있습니다.
주의:
- 위에 제시된 방법들은 상황에 따라 적합성이 달라질 수 있습니다.
- 코드를 작성하기 전에 데이터프레임의 구조와 원하는 결과를 명확하게 파악하는 것이 중요합니다.
python pandas dataframe