>  기사  >  백엔드 개발  >  Pandas DataFrame에 여러 열을 효율적으로 추가하는 방법은 무엇입니까?

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

DDD
DDD원래의
2024-10-25 09:54:02384검색

How to Efficiently Add Multiple Columns to a Pandas DataFrame?

Pandas DataFrame에 여러 열을 동시에 할당

Pandas에서 데이터 프레임을 사용하는 맥락에서 여러 열을 효율적으로 추가하는 방법에 대한 의문이 생깁니다.

초기 시도와 단점

많은 사용자가 이 작업을 수행하기 위해 자연스럽게 다음 구문을 시도합니다.

df[['column_new_1', 'column_new_2', 'column_new_3']] = [np.nan, 'dogs', 3]

그러나 , Pandas에서는 열 목록 구문을 사용하여 새 열을 생성할 때 오른쪽이 DataFrame이어야 하기 때문에 이 접근 방식은 실패합니다.

대체 접근 방식

다양한 실행 가능한 솔루션 원하는 결과를 얻기 위해 존재합니다. 권장되는 접근 방식은 다음과 같습니다.

1. 반복자 압축 해제를 사용한 단일 열 할당

df['column_new_1'], df['column_new_2'], df['column_new_3'] = np.nan, 'dogs', 3

2. Pandas.DataFrame()을 사용한 DataFrame 확장

df[['column_new_1', 'column_new_2', 'column_new_3']] = pd.DataFrame([[np.nan, 'dogs', 3]], index=df.index)

3. Pandas.concat과 연결

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
)

4. Pandas.join으로 가입하세요

df = df.join(pd.DataFrame(
    [[np.nan, 'dogs', 3]], 
    index=df.index, 
    columns=['column_new_1', 'column_new_2', 'column_new_3']
))

5. Pandas.join을 이용한 사전 확장

df = df.join(pd.DataFrame(
    {
        'column_new_1': np.nan,
        'column_new_2': 'dogs',
        'column_new_3': 3
    }, index=df.index
))

6. .sign()

df = df.assign(column_new_1=np.nan, column_new_2='dogs', column_new_3=3)

을 사용한 다중 열 인수7. 컬럼 생성 및 할당

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

8. 별도의 할당

df['column_new_1'] = np.nan
df['column_new_2'] = 'dogs'
df['column_new_3'] = 3

접근 방식 선택은 사용자의 특정 요구 사항에 따라 다릅니다. 단순성과 효율성을 위해 별도의 할당이 선호되는 솔루션인 경우가 많습니다. 그러나 동일한 유형이나 값을 가진 여러 열을 추가하려는 경우 다른 접근 방식이 유연성과 간결성을 제공합니다.

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

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