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 중국어 웹사이트의 기타 관련 기사를 참조하세요!