2023-10-06 02:06:44

판다스 데이터프레임에서 특정 조건을 만족하는 행을 삭제하는 방법에 대해 알아보겠습니다. 우선 행 또는 열을 삭제할 때 사용하는 데이터프레임의 메서드는 drop입니다.


데이터프레임에서 특정 조건을 만족하는 행 삭제하기

예시를 위해 데이터프레임을 하나 생성하겠습니다. 

 

import pandas as pd


data_dict = [
    {
        "이름": "심교훈",
        "취미": "숨쉬기",
        "좋아하는색": "파랑"
    },
    {
        "이름": "문태호",
        "취미": "철인3종",
        "좋아하는색": "빨강"
    },
    {
        "이름": "황병일",
        "취미": "농구",
        "좋아하는색": "노랑"
    },
]

df = pd.DataFrame(data=data_dict)
print(df)
#     이름    취미 좋아하는색
# 0  심교훈   숨쉬기    파랑
# 1  문태호  철인3종    빨강
# 2  황병일    농구    노랑

 

이 데이터프레임에서 "좋아하는색" 컬럼 값이 "노랑"인 행들 삭제하도록 하겠습니다. "좋아하는색" 컬럼의 값이 "노랑"인 행들의 인덱스를 가지고 와서, 그것을 기준으로 제거를 해줍니다. 

 

df.drop(df[df['좋아하는색'] == "파랑"].index, inplace=True)
print(df)
#     이름    취미 좋아하는색
# 1  문태호  철인3종    빨강
# 2  황병일    농구    노랑

 

잘 삭제된 것을 확인할 수 있습니다.

 

관련 글

- [pandas] 데이터프레임 행 또는 컬럼 삭제하기, drop() 메소드