Pandas DataFrame에 여러 열을 동시에 효율적으로 추가하는 방법은 무엇입니까?

Linda Hamilton
풀어 주다: 2024-10-25 12:36:02
원래의
281명이 탐색했습니다.

How to Efficiently Add Multiple Columns to a Pandas DataFrame Simultaneously?

Pandas DataFrame에 여러 열을 동시에 추가

Pandas 데이터 조작에서 DataFrame에 여러 개의 새 열을 효율적으로 추가하는 것은 우아한 솔루션이 필요한 작업일 수 있습니다. 등호와 함께 열 목록 구문을 사용하는 직관적인 접근 방식은 간단해 보이지만 예상치 못한 결과가 발생할 수 있습니다.

도전

제공된 예에 설명된 대로 다음 구문은 의도한 대로 새 열을 생성하지 못했습니다.

<code class="python">df[['column_new_1', 'column_new_2', 'column_new_3']] = [np.nan, 'dogs', 3]</code>
로그인 후 복사

Pandas에서는 열 목록 구문을 사용할 때 할당의 오른쪽이 DataFrame이어야 하기 때문입니다. 스칼라 값 또는 목록은 이 접근 방식과 호환되지 않습니다.

솔루션

여러 열을 동시에 추가하기 위한 실행 가능한 솔루션을 제공하는 여러 대체 방법:

방법 1: 개별 할당 반복자 압축 풀기 사용

<code class="python">df['column_new_1'], df['column_new_2'], df['column_new_3'] = np.nan, 'dogs', 3</code>
로그인 후 복사

방법 2: 단일 행을 확장하여 인덱스 일치

<code class="python">df[['column_new_1', 'column_new_2', 'column_new_3']] = pd.DataFrame([[np.nan, 'dogs', 3]], index=df.index)</code>
로그인 후 복사

방법 3: 임시 DataFrame과 결합 사용 pd.concat

<code class="python">df = pd.concat(
    [
        df,
        pd.DataFrame(
            [[np.nan, 'dogs', 3]], 
            index=df.index, 
            columns=['column_new_1', 'column_new_2', 'column_new_3']
        )
    ], axis=1
)</code>
로그인 후 복사

방법 4: .join을 사용하여 임시 DataFrame과 결합

<code class="python">df = df.join(pd.DataFrame(
    [[np.nan, 'dogs', 3]], 
    index=df.index, 
    columns=['column_new_1', 'column_new_2', 'column_new_3']
))</code>
로그인 후 복사

방법 5: 임시용 사전 사용 DataFrame

<code class="python">df = df.join(pd.DataFrame(
    {
        'column_new_1': np.nan,
        'column_new_2': 'dogs',
        'column_new_3': 3
    }, index=df.index
))</code>
로그인 후 복사

방법 6: 여러 열 인수에 .zip() 사용

<code class="python">df = df.assign(column_new_1=np.nan, column_new_2='dogs', column_new_3=3)</code>
로그인 후 복사

방법 7: 열 생성 후 값 할당

<code class="python">new_cols = ['column_new_1', 'column_new_2', 'column_new_3']
new_vals = [np.nan, 'dogs', 3]
df = df.reindex(columns=df.columns.tolist() + new_cols)    # add empty cols
df[new_cols] = new_vals        # multi-column assignment works for existing cols</code>
로그인 후 복사

방법 8: 다중 순차 할당

<code class="python">df['column_new_1'] = np.nan
df['column_new_2'] = 'dogs'
df['column_new_3'] = 3</code>
로그인 후 복사

가장 적절한 방법을 선택하는 것은 DataFrame의 크기, 추가할 새 열 수 및 작업의 성능 요구 사항. 그럼에도 불구하고 이러한 기술은 Pandas 사용자에게 DataFrames에 여러 열을 효율적으로 추가할 수 있는 다양한 옵션을 제공합니다.

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

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿