본문 바로가기

BLOG/데이터분석

[데이터분석] 데이터프레임 : 한 칼럼(열)에서 특정 값과 일치하는 행 필터링 하기

 

데이터프레임에서 한 칼럼(열)에 특정 데이터와 일치하는 행을 찾고, 일치하는 행들만 따로 데이터프레임으로 나타내고 싶다면 어떻게 해야 할까요? 아래 코드를 보면서 살펴보도록 하겠습니다.

 

 

- 한 칼럼(열)에서 특정 값과 일치하는 행 필터링 하기

먼저, 아래와 같은 데이터프레임이 있다고 가정해보겠습니다.

 

	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인 데이터만 잘 출력되었음을 확인할 수 있습니다.

 

이러한 방식을 통해 특정 값과 일치하는 행을 필터링할 수 있는데요, 잘 숙지해서 적절히 사용하시기 바랍니다!