데이터 분석

[Pandas] Filtering & Sorting 본문

Python/Pandas

[Pandas] Filtering & Sorting

딱한아이 2024. 12. 7. 17:58
특정 조건에 부합하는 값만 변경하기

 

✔️df의 데이터 중 아래와 같이 item_name 값이 'Izze'인 데이터를 'Fizzy Lizzy'로 변경하고자 한다.

 

 

(1) Series.replace() 활용

df['item_name'] = df['item_name'].replace('Izze', 'Fizzy Lizzy')

 

값 전체를 대상으로 변경하기 때문에 regex=True 옵션을 필요로 하지 않는다. 

 

(2) .loc 활용

df.loc[df['item_name'] == 'Izze', 'item_name'] = 'Fizzy Lizzy'

 

특정 조건을 만족하는 행과 열을 지정하여 값만 변경할 수 있는 방법이다.

 

단순 대체가 필요한 상황이라면 방법 (1)도 적합하겠지만, 조건에 따른 변경이 빈번한 상황에 대응하기 위해 방법 (2)를 능숙하게 사용하는 것이 더 효율적일거라고 생각한다.

 


 

특정 단어를 포함하지 않는 데이터를 필터링하기 

 

✔️ df의 데이터 중 choice_description 값에 Vegetables 단어가 들어가지 않는 데이터를 조회하고자 한다.

 

(1) .str.contains() 활용

df.loc[~df['choice_description'].str.contains('Vegetables'), :].head(2)

 

😗 만약, 반대로 Vegetables 단어를 포함하는 데이터를 조회하고자 한다면 ?

df.loc[df['choice_description'].str.contains('Vegetables'), :].head(2)

 

.str.contains() 메서드는 주어진 문자열 패턴이 해당 Series의 각 요소에 포함되어 있는지 여부를 검사하여 True 또는 False 값을 반환하기 때문에 유용하게 활용할 수 있다.