꾸준히 성장하기

[D+17] 프로젝트 | .isna 함수 본문

KT 에이블스쿨 5기/프로젝트

[D+17] 프로젝트 | .isna 함수

data.dohii 2024. 3. 8. 23:09

KT 에이블스쿨에서의 미니 프로젝트를 진행하면서, isna 함수의 굴레에 빠져들었습니다. 

교육 과정에서는 이 함수의 개념을 이해했다고 자신 있게 생각했습니다. 

하지만 실제 프로젝트를 수행해보니 그것이 아니었음을 깨달았어요. 이론과 실습의 차이는 역시나 컸습니다🥲

비전공자인 저에게 프로젝트 팀원들은 모두 소프트웨어나 데이터 분석 전공자들이었습니다. 

그들의 도움으로 프로젝트를 수월하게 마쳤지만 집에서 혼자 코드를 복습할 때, isna 함수가 생각보다 낯설게 느껴졌어요.

'isin' 함수는 주어진 값이 목록에 있는지 확인하고, 해당하는 값을 필터링하는 데 사용됩니다.

여기서 제가 겪은 두 가지 주요 혼란에 대해 공유하고자 합니다!


1. 단일 데이터 프레임에서의 isin 함수 사용

'tips' 데이터 프레임에서 주말(토요일, 일요일)에 해당하는 데이터만을 선택하려고 할 때 사용합니다.

 

tips[tips['day'].isin(['sat', 'sun'])]

여기서 tips는 팁 정보를 담고 있는 데이터 프레임이고, ['sat', 'sun']은 필터링하고자 하는 요일의 리스트입니다. 이 방법을 통해 주말 데이터만을 선택할 수 있습니다.

 

2. 두 개의 데이터 프레임에서의 isin 함수 사용

특정 기간 동안의 주문을 한 고객들만을 선택하고 싶을 때 사용됩니다.


cust02 = sales.loc[sales['OrderDate'].between('2016-07-01', '2016-12-31'), 'CustomerID']

cust01[cust01['CustomerID'].isin(cust02)]

이 경우, cust01은 고객 정보를 담고 있는 데이터 프레임이고, cust02는 특정 조건(예: 특정 기간 동안의 주문)을 만족하는 고객의 ID를 담고 있는 DataFrame의 'CustomerID' 열입니다. 여기서 중요한 점은 isin 함수가 Series나 리스트와 같은 일련의 값에서 사용되기 때문에, 'CustomerID'를 열로 지정해주어야 한다는 것입니다. cust01 데이터 프레임에서 cust02의 고객 ID 리스트에 해당하는 고객 정보만을 성공적으로 필터링할 수 있습니다.


각 단계를 통해 isin 함수의 사용법과 그 유용성을 점점 더 이해해갔습니다.

프로젝트를 통해 실제 데이터와 상호작용하며 이론적 지식을 실제 상황에 적용해볼 수 있는 기회가 되었어요.

다음 미니 프로젝트도 너무 기대가 됩니다🔥

반응형