데이터프레임으로 데이터를 가공할 때, 필요에 맞게 특정 조건을 만족하는 행을 삭제해야 하는 경우가 있습니다.
이때 drop() 함수를 사용하면 되는데요, 아래 예를 들면서 설명하도록 하겠습니다.
먼저, 아래와 같은 데이터프레임이 있다고 가정해보겠습니다.
import pandas as pd
info = pd.DataFrame({'item' : ['coffee', 'tea', 'juice', 'ade' ],
'price' : [3000, 4000, 5000, 6000],
'rating' : [4.0, 3.5, 3.7, 4.2]})
info
item price rating
0 coffee 3000 4.0
1 tea 4000 3.5
2 juice 5000 3.7
3 ade 6000 4.2
이때, 이 데이터프레임에서 만약 'price'가 5000 이상인 행을 지우고 싶다면 아래와 같이 drop() 함수를 이용하여 코드를 작성하면 됩니다.
info.drop(info[info.price >= 5000].index)
item price rating
0 coffee 3000 4.0
1 tea 4000 3.5
위 코드를 보면, drop() 안에 info[info.price >= 5000] 이 입력되어 있는데요, 이는 info 데이터프레임에 'price'라는 컬럼에서 5000 이상인 행을 지정하는 의미를 갖고 있습니다. 여기서 컬럼 이름 'price' 를 작성할 때 따옴표 또는 큰따옴표를 사용하지 않는답니다. 한편, 맨 뒤에 .index는 혹시나 행을 삭제함으로써 인덱스 번호가 순차적이지 않을 때 인덱스를 다시 정렬하는 코드입니다.
drop() 안에 조건식에는 ">=" 말고도 다른 조건식을 사용할 수 있어, 상황에 맞게 적절한 조건식을 입력하시기 바랍니다 :D
'BLOG > 파이썬 기초' 카테고리의 다른 글
[파이썬] 현재 폴더 경로/위치 찾는 방법 & 경로 바꾸는 방법 - getcwd(), chdir() (0) | 2021.03.08 |
---|---|
[파이썬] 데이터프레임(dataframe) 지정된 행 삭제하기 - drop() (0) | 2021.03.04 |
[파이썬] 데이터프레임(dataframe) 인덱스 설정 / 해제 - set_index, reset_index (0) | 2021.03.04 |
[파이썬] 평균 구하는 함수는? (0) | 2021.03.04 |
[파이썬] 데이터를 절댓값으로 바꾼 뒤 내림차순 정렬 하려면? - abs() (0) | 2021.03.04 |