>  기사  >  백엔드 개발  >  Pandas의 함수에서 여러 개의 새 열을 효율적으로 만드는 방법은 무엇입니까?

Pandas의 함수에서 여러 개의 새 열을 효율적으로 만드는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-10-28 20:58:02105검색

How to Efficiently Create Multiple New Columns from a Function in Pandas?

Pandas를 사용하여 함수에서 여러 개의 새 열 생성

Pandas에서는 기존 열. 작업은 간단해 보이지만 예상되는 함수 반환 유형으로 인해 예상치 못한 문제가 발생할 수 있습니다.

원래 접근 방식: 인덱스 범위에 할당

처음에는 다음의 출력을 할당하려고 시도할 수 있습니다. df.ix[: ,10:16] = df.textcol.map(extract_text_features) 구문을 사용하여 DataFrame의 인덱스 범위에 직접 함수를 적용합니다. 그러나 이 접근 방식은 함수의 호환되지 않는 반환 유형으로 인해 종종 오류가 발생할 수 있습니다.

반복 가능한 솔루션

한 가지 잠재적인 솔루션은 df.iterrows( ). 이 방법을 사용하면 각 행에 개별적으로 함수를 적용하고 결과를 튜플로 캡처할 수 있습니다. 그러나 이 접근 방식은 다른 옵션보다 상당히 느릴 수 있습니다.

zip() 사용

더 효율적이고 유연한 접근 방식은 zip() 함수를 map()과 함께 사용하여 새로운 열. zip() 함수는 함수의 출력을 튜플로 결합한 다음 개별 열로 압축을 풀 수 있습니다. 예를 들어, 다음 코드는 zip() 메소드를 사용하여 6개의 새 열을 생성하는 방법을 보여줍니다.

<code class="python">df['p1'], df['p2'], df['p3'], df['p4'], df['p5'], df['p6'] = zip(*df['num'].map(powers))</code>

향상된 DataFrame 메소드

Pandas에 대한 최근 업데이트에서는 함수 적용을 위한 보다 편리한 메소드를 도입했습니다. 열에 추가하고 새 열을 생성합니다. 예를 들어, df.apply() 메서드를 사용하면 출력 형식(DataFrame, Series 또는 목록)을 지정하고 추가 매개변수를 처리할 수 있습니다. 또한 df.sign() 메서드를 사용하면 출력을 명시적으로 할당하지 않고도 직접 새 열을 생성할 수 있습니다. 이러한 새로운 방법은 함수를 기반으로 여러 개의 새 열을 생성할 때 더 많은 유연성과 효율성을 제공합니다.

위 내용은 Pandas의 함수에서 여러 개의 새 열을 효율적으로 만드는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.