데이터프레임에서 한 칼럼(열)에 특정 데이터와 일치하는 행을 찾고, 일치하는 행들만 따로 데이터프레임으로 나타내고 싶다면 어떻게 해야 할까요? 아래 코드를 보면서 살펴보도록 하겠습니다.
- 한 칼럼(열)에서 특정 값과 일치하는 행 필터링 하기
먼저, 아래와 같은 데이터프레임이 있다고 가정해보겠습니다.
item count price rating
0 coffee 1 3000 4.5
1 juice 5 4000 3.0
2 ade 2 5000 4.0
3 milk 1 3000 2.5
4 tea 3 4000 3.0
5 water 2 3000 4.5
위 데이터를 살펴보면 항목(item)마다 'count', 'price', 'rating'에 대한 데이터가 있는데요,
만약 'price'칼럼에서 데이터가 '3000'인 행만 필터링해서 새로운 데이터프레임으로 만들고 싶다면,
어떻게 해야할까요?
먼저, 'price' 데이터가 3000인 데이터를 찾아보도록 하겠습니다.
is_price = df['price'] == 3000
print(is_price)
0 True
1 False
2 False
3 True
4 False
5 True
Name: price, dtype: bool
df['price'] == 3000 과 같이 조건연산식으로 입력한 뒤, 이를 'is_price' 변수에 저장하고 출력해보면, 각 행마다 3000 데이터가 있으면 True, 없으면 False로 출력합니다.
즉, 'is_price' 라는 변수에 (True, False, False, True,,, ) 라는 데이터가 담기게 되는데요, 이를 이용해서 데이터프레임을 필터링 할 수 있답니다.
아래의 코드를 보도록 하겠습니다.
price_3000 = df[is_price]
위 코드는 데이터프레임(df) 에서 'is_price' 에 따라 True인 행만 반환해서 price_3000 이라는 이름의 데이터프레임으로 저장한 코드입니다. 따라서 price_3000 데이터프레임을 출력하면 아래와 같은 결과가 나옵니다.
item count price rating
0 coffee 1 3000 4.5
3 milk 1 3000 2.5
5 water 2 3000 4.5
출력된 결과를 보면, price가 3000인 데이터만 잘 출력되었음을 확인할 수 있습니다.
이러한 방식을 통해 특정 값과 일치하는 행을 필터링할 수 있는데요, 잘 숙지해서 적절히 사용하시기 바랍니다!
'BLOG > 데이터분석' 카테고리의 다른 글
[데이터분석] 데이터프레임 : 다중 인덱스 설정하는 방법 - set_index() (0) | 2021.03.15 |
---|---|
[데이터분석] 데이터프레임 : 정렬 후 인덱스 재정렬 하기 - reset_index(drop = True) (0) | 2021.03.15 |
[데이터분석] 데이터프레임 : 한 칼럼(열)에 특정한 값 있는지 조회하는 방법 (0) | 2021.03.15 |
[데이터분석] plotly : 데이터프레임 3개 칼럼으로 그래프 나타내기 (0) | 2021.03.15 |
[데이터분석] 데이터프레임 : 데이터프레임(dataframe) 여러 개 출력하기 - display() (0) | 2021.03.15 |