Pandas를 사용하여 효율적으로 여러 열 생성
Pandas 열에 함수를 적용하여 여러 개의 새 열을 생성하는 것은 일반적인 작업일 수 있습니다. 그러나 효율적이고 올바른 할당을 보장하는 올바른 접근 방식을 찾는 것은 어려울 수 있습니다.
이전 버전의 Pandas(v0.16 이전)에서는 df.iterrows()를 사용한 반복이 자주 사용되었습니다. 그러나 이는 최신 접근 방식에 비해 상당히 느립니다. 최근 개선으로 여러 가지 효율적인 옵션을 사용할 수 있습니다.
권장되는 접근 방식 중 하나는 zip() 함수를 사용하여 적용된 함수의 출력을 압축 해제하고 원하는 열에 할당하는 것입니다. 이 방법은 각 행에 대해 일련의 튜플을 생성하여 작동하며 각 튜플에는 원하는 출력 값이 포함됩니다. 그런 다음 튜플의 압축이 풀리고 해당 열에 할당됩니다.
<code class="python">df['p1'], df['p2'], df['p3'], df['p4'], df['p5'], df['p6'] = \ zip(*df['num'].map(powers))</code>
더 직접적인 접근 방식을 제공하는 apply() 함수를 사용할 수도 있습니다. 적용된 함수는 원하는 수의 열과 일치하는 행 인덱스가 있는 pandas DataFrame을 입력 DataFrame에 반환해야 합니다.
<code class="python">df = df.apply(lambda x: powers(x['num']), axis=1, result_type='expand')</code>
pandas v0.16에 도입된 할당() 함수는 다음을 수행하는 또 다른 편리한 방법을 제공합니다. 새 열을 만듭니다. 사용자가 표현식을 사용하여 DataFrame에 새 열을 직접 할당할 수 있습니다.
<code class="python">df = df.assign(p1=df['num'].map(lambda x: x), p2=df['num'].map(lambda x: x**2))</code>
위 내용은 Pandas DataFrame에서 여러 열을 효율적으로 만드는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!