본문 바로가기
데이터 분석/데이터 전처리

[Pandas] 4. 필요한 열(Column) 추출하기

by 부자 꽁냥이 2020. 8. 26.

안녕하세요~ 꽁냥이에요!

 

데이터의 크기가 클 경우에는 모든 데이터를 다루기보다 필요한 열(Column)을 추출하여 데이터의 크기를 줄인다면 더 빠르게 데이터 분석을 수행할 수 있을 거예요.

 

이번 포스팅에서는 데이터프래임에서 원하는 칼럼을 추출하는 방법에 대해서 알아보겠습니다(상황에 따라 칼럼 또는 열이라는 단어를 사용할게요).

 

Pandas에서는 필요한 칼럼을 추출하는 방법을 여러 가지 제공하고 있어요. 여기서는 칼럼 이름을 사용하는 방법, iloc 함수를 이용하는 방법, drop 함수를 이용하는 방법 총 3가지를 알아보겠습니다.

 

1. 칼럼 이름을 사용하는 방법

2. iloc를 이용하여 원하는 칼럼 추출하기

3. drop을 이용하여 원하는 칼럼 추출하기

 

 


   1. 칼럼 이름을 사용하는 방법

먼저 칼럼 이름을 이용하여 필요한 칼럼을 추출해보아요. 추출하는 방식은 다음과 같아요.


DataFrame [ [ '칼럼명1', '칼럼명2', . . . ] ]


즉, 추출하고자 하는 칼럼명을 리스트에 담아서 데이터프래임 인덱싱으로 넘겨주면 됩니다. 이게 무슨 말인지 당장 몰라도 괜찮아요. 아래 코드를 통해서 살펴볼꺼니까요.

 

이번 포스팅에서 사용할 데이터프래임을 다음과 같이 만들어 줍니다. 데이터 프래임에 대한 내용은 여기를 참고해주세요.

 

import pandas as pd
## 데이터 만들기
data = {
    'A':[1,2,3,4,5],
    'B':['a','b','c','d','e'],
    'C':['apple','banana','grape','strawberry','peach'],
    'D':[11,22,33,44,55]
}
df = pd.DataFrame(data) ## 데이터프래임 생성

 

위 코드를 실행하면 df의 칼럼은 'A', 'B', 'C', 'D'가 있다는 것을 알 수 있어요.

 

 

여기서 칼럼 'A'와 'B'를 추출하고자 한다면 아래 코드와 같이 해주면 됩니다.

 

df[['A','B']]

 

위 코드를 실행하면 아래와 같이 칼럼 'A'와 'B'가 추출된 것을 알 수 있어요(여기서 칼럼명을 2중 각괄호로 둘러 싸여 있는 것을 주목하세요).

 

 

위와 같은 방식으로 원하는 칼럼을 추출할 수 있어요. 이 방식은 꽁냥이가 가장 많이 사용하는 방식이에요. 왜냐하면 어떤 칼럼을 추출했는지 코드상으로 이해하기가 쉽기 때문이에요.

 

만약 기존 데이터프래임을 원하는 칼럼이 추출된 데이터프래임으로 교체하고자 하는 경우에는 아래와 같이 해주세요.

 

df = df[['A','B']]
반응형

   2. iloc를 이용하여 원하는 칼럼 추출하기

데이터프래임에는 인덱싱을 위한 함수가 있는데요. 그중에서 iloc를 사용하여 칼럼을 추출해볼 거예요. 사용 방식은 아래와 같아요.


DataFrame.iloc [ : , [칼럼 인덱싱1, 칼럼 인덱싱2, . . . ] ]


여기서 ' : '은 모든 행을 가져오겠다는 것입니다. 그리고 칼럼 인덱싱이란 말은 0을 첫 번째로 하여 칼럼 이름이 몇 번째에 있는지를 나타내는 숫자입니다. 

 

만약 칼럼 'A'와 칼럼 'C'를 추출하고자 한다면 아래와 같이 해주세요.

 

df.iloc[:,[0,2]]

 

여기서 숫자 0은 칼럼 'A'의 인덱스, 2는 칼럼 'C'의 인덱스입니다.위 코드를 실행하면 아래와 같이 칼럼 'A'와 'C'가 추출된 것을 알 수 있어요.

 

 

사실 이 방법은 잘 사용하지 않아요. 왜냐하면 칼럼을 인덱싱을 이용하여 추출하기 때문에 코드 상으로 어떤 칼럼을 추출했는지 알기가 어렵거든요.


   3. drop을 이용하여 원하는 칼럼 추출하기

drop 함수는 사실 칼럼을 제거할 때 쓰는 방법인데요. 추출할 때도 쓸 수 있지요. 왜냐하면 원하고자 하는 칼럼 외 모든 칼럼을 제거하면 되기 때문이지요. 

 

여기서도 칼럼 'A' 와 'C'를 추출하려고 합니다. 그렇다면 나머지 칼럼 'B', 'C'는 필요가 없으므로 drop함수를 이용하여 제거해줍니다.

 

df.drop(['B','D'], axis=1)

 

여기서 axis는 제거할 축을 결정하는 인자입니다. 0과 1 값을 가질 수 있으며 0이면 행을 제거, 1이면 열을 제거합니다. 우리는 칼럼을 제거해야 하므로 axis에 1을 넣었습니다.

 

위 코드를 실행하면 아래와 같이 칼럼 'A'와 'C'가 추출된 것을 알 수 있어요.

 

 

만약 추출하고자 하는 칼럼이 제거해야 할 칼럼보다 많은 경우에는 drop함수를 이용해서 추출해보세요.


 

이번 포스팅에서는 데이터프래임에서 원하는 칼럼을 추출하는 방법에 대해서 알아보았습니다. 궁금하신 점 있으면 댓글로 남겨주세요.

 

지금까지 꽁냥이의 글 읽어주셔서 감사합니다.


댓글


맨 위로