df['test'] = np.where(조건, 참일 때 값, 거짓일 때 값) 형태로 쓰게 되는데
각 line별로 function을 태우고 그 값을 넣고 싶을 때가 생긴다.
그 경우 lambda를 활용할 수 있다.
df["test"] = df.apply(lambda r: func(r.col0, r.col1), axis=1)
여기서 axis는 컬럼 기준으로 작업할지, 행 기준으로 작업할지에 대한 매개변수다.
axis=1일 경우 컬럼 기준, 0인 경우 행 기준으로 작업한다.
함수의 return이 여러 개인 경우엔,
df["test1"], df["test2"], df["test3"] = zip(*df.apply(lambda r: func(r.col0, r.col1), axis=1))
들어갈 각 열들을 나열하고, zip으로 묶어주면 return의 순서대로 값이 들어간다.
'파이썬' 카테고리의 다른 글
[Python] 유튜브 검색어에 대한 영상 리스트의 데이터 가져오기 (0) | 2022.08.22 |
---|---|
[Pandas] Series에서 각 row의 value를 편집해서 필터링 해야 하는 경우 (0) | 2022.08.04 |
[python] 논리 연산자 사용에 관해 (0) | 2022.07.28 |
[Python] 파이썬 모듈과 함수 호출 (0) | 2022.07.21 |
[Pandas] 기본적인 Pandas의 자료 구조 및 컬럼 추가, 필터링 (0) | 2022.07.20 |