파이썬 판다스 원하는 열/행 가져오기 방법 간단 정리
파이썬 pandas 모듈을 이용하여 데이터프레임에서 원하는 1개의 열/행을 가져오는 방법과
여러 개의 column/row들을 동시에 추출하는 법에 대해서 간략하게 정리해보겠습니다.
이해를 돕기 위하여, 아래의 데이터프레임이 df라는 변수에 저장된 상황을 가정하겠습니다.
import pandas as pd
a = {'A' : [1, 2, 3, 4, 5], 'B' : [10, 20, 30, 40, 50], 'C' : [100, 200, 300, 400, 500]}
df = pd.DataFrame(a, index = ['가', '나', '다', '라', '마'])
df
열 1개 추출하기
대괄호 [] 1개로 해당 column의 이름을 지정해주시면 Series 형태로 열 추출이 됩니다.
df['A']
반면, 대괄호 2개로 column 이름을 감싸주면 DataFrame 형태로 추출된 결과가 반환됩니다.
df[['A']]
열 여러 개 동시에 추출하기
여러 개의 열을 동시에 선택하여 가져오고 싶은 경우에는
원하는 열 이름들의 순서를 적어 대괄호 2개로 감싸주시면 됩니다.
(이 경우에는 대괄호 1개로 묶을 시에는 KeyError 오류가 발생합니다.)
# df['A', 'C'] -> KeyError: ('A', 'C') 발생
df[['A', 'C']]
행 1개 추출하기
원하는 인덱스의 이름을 열 추출의 경우처럼 대괄호로 묶되,
loc 함수를 사용해주시면 해당 행만을 선택하여 가져올 수 있습니다.
loc 뒤에 대괄호 1개로 해당 row의 이름을 감싸면 Series 형태로 행을 추출합니다.
df.loc['가']
데이터프레임 형태로 가져오고 싶다면 열 추출과 마찬가지로 대괄호 2개로 감싸주시면 됩니다.
df.loc[['가']]
행 여러 개 동시에 추출하기
열 여러 개 추출과 비슷한 방식으로 loc 뒤에 원하는 행들의 인덱스 목록을 대괄호 2개로
감싸주시면 여러 행 추출도 가능합니다. 역시 대괄호 1개로만 묶으면 오류가 발생합니다.
# df.loc['가', '다', '마'] -> IndexingError: Too many indexers 발생
df.loc[['가', '다', '마']]
열과 행 이름을 모두 지정하여 추출하기
행 추출 방법에서 loc 함수의 두 번째 인자로 열 이름 목록을 리스트로 지정해주시면
column과 row 이름을 모두 지정하여 부분 데이터프레임을 가져올 수 있습니다.
df.loc[['가', '다', '마'], ['A', 'C']]
심화 : 조건 인덱싱, 위치 번호 기반 열/행 추출하기(loc, iloc 함수)
행 추출에서 사용된 loc 함수를 통하여 C열의 값이 250 이상인 행처럼 조건 인덱싱도 가능하며,
2~4번째 행 처럼 위치 기반 추출을 원하는 경우에는 iloc 함수를 사용하시면 가능합니다.
이에 대한 상세한 내용은 아래의 글을 참고해주세요.
이상으로 파이썬에서 column 및 row를 추출하는 방법에 대한 글을 마치겠습니다. 감사합니다.
'Python > Pandas' 카테고리의 다른 글
[Pandas] 파이썬 데이터프레임 값 변경/대체 방법 정리 (5) | 2022.05.18 |
---|---|
[Pandas] 파이썬 피벗테이블 필터링, 정렬 및 데이터프레임 변환 (0) | 2022.04.21 |
[Pandas] 파이썬 피벗테이블 생성 : pd.pivot_table 함수 사용법 정리 (0) | 2022.04.21 |