brunch

You can make anything
by writing

C.S.Lewis

by 맨오브피스 May 08. 2022

파이썬 pd.DataFrame에서 조건 값 입력하기

파이썬의 pandas로 데이터 정리를 하던 중, 아래와 같은 조건 명령어를 사용하고 싶었다.

'광고이름'이라는 열에 'mobile'이라는 문자가 포함되어 있으면,
'기기종류' 열에 '모바일'이라고 입력하라.


사용자에게 노출된 광고가 모바일용이냐 PC용이냐를 구분하고 싶었다. '광고이름' 열에 해당 정보가 있긴 했지만 다른 정보와 뒤섞여 있는 것이 문제였다. '음악광고_mobile_203984382_300x250' 같은 식으로 되어있는 문자에서 'mobile' 부분만 가져와 한국어인 '모바일'로 치환하고 싶었다.


pandas의 DataFrame에 if를 어떻게 집어넣어야 하나 혼란스러웠는데, 검색해보니 if를 사용하지 않아도 가능했다.

import panads as pd

df = pd.DataFrame(data = file)
df.loc[df['광고이름'].str.contains('mobile'), '기기종류'] = '모바일'


참고로 "문자가 포함되어 있으면"이 아닌 "문자가 포함되어 있지 않으면"을 조건으로 걸고 싶은 경우, 명령어 안에 물결 표시(~)를 붙이면 된다.

import panads as pd

df = pd.DataFrame(data = file)
df.loc[~df['광고이름'].str.contains('mobile'), '기기종류'] = '모바일'
작가의 이전글 일에서 의미 찾기
작품 선택
키워드 선택 0 / 3 0
댓글여부
afliean
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari