Pandas에서 If-Else-Else 조건부 열 생성
데이터 작업 시 특정 항목을 기반으로 새 열을 생성해야 하는 경우가 많습니다. 정황. Pandas는 이 프로세스를 단순화하는 구문을 제공하므로 if-elif-else 조건을 단일 단계로 정의할 수 있습니다.
이를 설명하기 위해 다음 DataFrame을 고려해 보겠습니다.
A B a 2 2 b 3 1 c 1 3
우리는 다음 조건을 따르는 새 열 'C'를 생성하려고 합니다.
사용자 정의 함수 사용
한 가지 접근 방식은 각 행에 대해 이러한 조건을 평가하는 사용자 정의 함수를 정의하는 것입니다.
<code class="python">def my_function(row): if row['A'] == row['B']: return 0 elif row['A'] > row['B']: return 1 else: return -1<p>apply() 메소드를 사용하여 DataFrame의 각 행에 이 함수를 적용하여 'C' 열을 생성할 수 있습니다.</p> <pre class="brush:php;toolbar:false"><code class="python">df['C'] = df.apply(my_function, axis=1)</code>
벡터화된 접근 방식
보다 효율적이고 벡터화된 솔루션을 위해 Pandas의 논리적 인덱싱과 함께 NumPy의 np.where 함수를 사용할 수 있습니다.
<code class="python">df['C'] = np.where( df['A'] == df['B'], 0, np.where( df['A'] > df['B'], 1, -1))</code>
이렇게 하면 사용자 정의 함수가 필요하지 않으므로 결과적으로 더 빠르고 최적화된 솔루션입니다.
'C' 열이 포함된 결과 DataFrame:
A B C a 2 2 0 b 3 1 1 c 1 3 -1
위 내용은 Pandas에서 If-Else-Else 조건부 열을 만드는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!