Pandas에서 데이터프레임의 열 슬라이스 가져오기
기본적인 열 슬라이싱
가장 기본적인 방법은 열 이름을 사용하여 슬라이싱하는 것입니다. 예를 들어, 데이터프레임 df
에서 'A', 'B' 열만 선택하려면 다음 코드를 사용할 수 있습니다.
df[['A', 'B']]
또는 리스트 형식으로 열 이름을 지정할 수도 있습니다.
columns = ['A', 'B']
df[columns]
위치 기반 열 슬라이싱
열의 위치를 사용하여 슬라이싱할 수도 있습니다. 예를 들어, 데이터프레임의 첫 번째 열과 두 번째 열을 선택하려면 다음 코드를 사용할 수 있습니다.
df.iloc[:, 0:2]
또는 음수 인덱싱을 사용하여 마지막 열을 선택할 수 있습니다.
df.iloc[:, -1]
조건 기반 열 슬라이싱
특정 조건을 충족하는 열을 선택하려면 loc
인덱서를 사용할 수 있습니다. 예를 들어, 'A'로 시작하는 열을 모두 선택하려면 다음 코드를 사용할 수 있습니다.
df.loc[:, df.columns.str.startswith('A')]
NumPy 배열로 열 슬라이싱
df[:, :3]
다양한 슬라이싱 조합
위의 방법들을 조합하여 원하는 열을 정확하게 선택할 수 있습니다. 예를 들어, 데이터프레임의 첫 번째 두 열과 마지막 열을 선택하려면 다음 코드를 사용할 수 있습니다.
df.iloc[:, [0, 1, -1]]
결론
판다스에서 데이터프레임의 열 슬라이싱은 데이터 분석 및 조작에서 매우 유용한 기능입니다. 위에서 소개된 다양한 방법을 활용하여 원하는 열을 손쉽게 선택하고 작업할 수 있습니다.
- [데이터 슬
예제 코드
기본적인 열 슬라이싱
import pandas as pd
import numpy as np
# 데이터 생성
np.random.seed(10)
data = np.random.randint(100, size=(10, 5))
df = pd.DataFrame(data, columns=list('ABCDE'))
# 'A', 'B' 열 선택
df[['A', 'B']]
위치 기반 열 슬라이싱
# 첫 번째 열과 두 번째 열 선택
df.iloc[:, 0:2]
# 마지막 열 선택
df.iloc[:, -1]
조건 기반 열 슬라이싱
# 'A'로 시작하는 열 선택
df.loc[:, df.columns.str.startswith('A')]
NumPy 배열로 열 슬라이싱
# 첫 번째 세 개의 열 선택
df[:, :3]
다양한 슬라이싱 조합
# 첫 번째 두 열과 마지막 열 선택
df.iloc[:, [0, 1, -1]]
추가 예제
앞서 언급한 예제 외에도 다음과 같은 다양한 슬라이싱 작업을 수행할 수 있습니다.
- 특정 값을 포함하는 열 선택: 특정 값을 포함하는 열을 선택하려면
df[df['컬럼 이름'] == 값]
과 같은 조건식을 사용할 수 있습니다. - 범위 기반 열 슬라이싱: 특정 범위의 값을 포함하는 열을 선택하려면
df[(df['컬럼 이름'] >= 시작 값) & (df['컬럼 이름'] <= 종료 값)]
과 같은 조건식을 사용할 수 있습니다. - 고유한 값만 포함하는 열 선택: 특정 열의 고유한 값만 선택하려면
df['컬럼 이름'].unique()
를 사용할 수 있습니다. - 열 이름 변경: 열 이름을 변경하려면
df.rename(columns={'기존 이름': '새로운 이름'})
을 사용할 수 있습니다.
데이터프레임 열 슬라이싱을 위한 대체 방법
.filter() 메서드 사용:
.filter()
메서드는 행 또는 열을 선택하는 데 사용할 수 있는 강력한 도구입니다. 열을 선택하려면 축 인수에 axis=1
을 설정하고 열을 선택하는 조건을 제공하는 함수를 전달해야 합니다. 예를 들어, 'A'로 시작하는 열을 선택하려면 다음 코드를 사용할 수 있습니다.
import pandas as pd
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]})
df.filter(like='A', axis=1)
[] 연산자와 함께 정규 표현식 사용:
열 이름이 정규 표현식 패턴과 일치하는 열을 선택하려면 []
연산자와 함께 정규 표현식을 사용할 수 있습니다. 예를 들어, 'A'로 시작하는 열을 선택하려면 다음 코드를 사용할 수 있습니다.
import pandas as pd
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]})
df.loc[:, df.columns.str.startswith('A')]
apply() 메서드 사용:
.apply()
메서드는 데이터프레임의 각 열에 함수를 적용하는 데 사용할 수 있습니다. 열을 선택하려면 각 열에 lambda
함수를 전달하여 True를 반환하도록 할 수 있습니다. 예를 들어, 'A'로 시작하는 열을 선택하려면 다음 코드를 사용할 수 있습니다.
import pandas as pd
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]})
df.apply(lambda x: x.name.startswith('A'), axis=1)
리스트 추 comprehension 사용:
리스트 추 comprehension을 사용하여 열 이름을 기반으로 열 목록을 생성할 수 있습니다. 예를 들어, 'A'로 시작하는 열을 선택하려면 다음 코드를 사용할 수 있습니다.
import pandas as pd
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]})
[col for col in df.columns if col.startswith('A')]
위에서 언급한 방법 외에도 데이터프레임의 열을 슬라이싱하는 데 사용할 수 있는 다른 방법들이 있습니다. 사용하는 방법은 특정 상황과 개인적 선호에 따라 다릅니다.
결론
Pandas에서 데이터프레임의 열을 슬라이싱하는 데에는 여러 가지 방법이 있습니다. 기본적인 []
연산자부터 .filter()
, 정규 표현식, apply()
, 리스트 추 comprehension에 이르기까지 다양한 방법을 사용할 수 있습니다. 사용하는 방법은 특정 상황과 개인적 선호에 따라 다릅니다.
python pandas numpy