[subset] 특정 컬럼 결측치 제거

yenpkr·2024년 11월 26일

나이키 광고 분석

목록 보기
4/9

상품 리뷰가 없는 상품 행을 삭제하기 위해 코드를 작성했다.

df3.iloc[:, 1:] = df3.iloc[:, 1:].copy()
df3.iloc[:,1:].dropna(axis=0,how='all',inplace=True)

0열(상품명)을 제외한 리뷰값들 모두가 결측치일 때, 그 행을 제거하기 위해 위와 같이 작성했다.
그런데 계속 오류가 떴다.
데이터프레임의 슬라이스를 수정하려 할 때 원본 데이터가 영향을 받지 않을 수도 있음을 경고하는 메시지 라고 한다.

따라서 subset을 사용해줬다.

df3.dropna(axis=0, how='all', subset=df3.columns[1:], inplace=True) # subset 사용
df3

subset은 어떤 열들만 검사할지 지정할 수 있다. 기본적으로 dropna는 데이터프레임 전체를 대상으로 동작하지만, subset을 사용하면 특정 열만 고려해 결측치를 판별할 수 있다.

따라서 df3의 1열 이상(리뷰값들)이 모두 결측치일 경우만 행이 삭제된다.

참고 블로그

0개의 댓글