[PYTHON] 판다에 ELIF로 열 만들기
PYTHON판다에 ELIF로 열 만들기
의문
다른 두 열의 값을 기반으로 새 DataFrame 열을 만드는 방법을 알아내는 데 어려움이 있습니다. / elif / else 로직을 사용해야합니다. 그러나 모든 문서와 예제는 if / else 논리 만 보여줍니다. 다음은 내가하려는 일의 샘플입니다.
암호
df['combo'] = 'mobile' if (df['mobile'] == 'mobile') elif (df['tablet'] =='tablet') 'tablet' else 'other')
나는 where ()도 사용하고있다. 올바른 구문을 찾는 데 어려움이 있습니다.
해결법
-
==============================
1.분기 문이 여러 개인 경우 행을 허용 한 다음 축 = 1을 따라 적용하는 것이 가장 좋습니다. 일반적으로 행을 반복하는 속도가 훨씬 빨라집니다.
분기 문이 여러 개인 경우 행을 허용 한 다음 축 = 1을 따라 적용하는 것이 가장 좋습니다. 일반적으로 행을 반복하는 속도가 훨씬 빨라집니다.
def func(row): if row['mobile'] == 'mobile': return 'mobile' elif row['tablet'] =='tablet': return 'tablet' else: return 'other' df['combo'] = df.apply(func, axis=1)
-
==============================
2.나는 다음과 같은 시도를했고 그 결과는 훨씬 빨랐다. 희망은 다른 사람들에게 도움이된다.
나는 다음과 같은 시도를했고 그 결과는 훨씬 빨랐다. 희망은 다른 사람들에게 도움이된다.
df['combo'] = 'other' df.loc[df['mobile'] == 'mobile', 'combo'] = 'mobile' df.loc[df['tablet'] == 'tablet', 'combo'] = 'tablet'
from https://stackoverflow.com/questions/18194404/create-column-with-elif-in-pandas by cc-by-sa and MIT license
'PYTHON' 카테고리의 다른 글
[PYTHON] 파이프를 통해 stdin을 읽는 스크립트에서 pdb.set_trace ()를 사용하십시오. (0) | 2018.11.12 |
---|---|
[PYTHON] 파이썬, 열거 형은 무엇에 좋은가요? [복제] (0) | 2018.11.12 |
[PYTHON] OSError : [Errno 8] Exec 형식 오류 (0) | 2018.11.12 |
[PYTHON] 줄 바꿈으로 구분 된 파일을 읽고 줄 바꿈을 삭제하는 가장 좋은 방법은 무엇입니까? (0) | 2018.11.12 |
[PYTHON] Matplotlib : "scatter / dot / beeswarm"플롯에서 중첩되는 데이터 포인트 피하기 (0) | 2018.11.12 |