반응형
09-12. 새 열 할당 (assign)
DataFrame.assign(kwargs)
개요
assign메서드는 DataFrame에 새 열을 할당하는 메서드입니다.
할당할 새 열이 기존열과 이름이 같을경우 덮어씌워집니다.
사용법
기본 사용법
df.assign(kwargs)
kwargs : 새열이름 = 내용 형식으로 입력되는 키워드입니다. 콤마(,)를 통해 여러개를 입력할 수 있습니다.
반응형
예시
먼저, 아래와 같이 간단한 3x1 객체를 만들어 보겠습니다.
df = pd.DataFrame(index=['row1','row2','row3'],data={'col1':[1,2,3]})
print(df)
>>
col1
row1 1
row2 2
row3 3
기본적인 사용법
lambda를 이용해 col1에 +2를 한 값으로 col2를 생성해보겠습니다.
print(df.assign(col2=lambda x : x.col1+2))
>>
col1 col2
row1 1 3
row2 2 4
row3 3 5
lambda를 사용하지 않고 아래와같이 새 열을 추가할 수 있습니다.
print(df.assign(col3=df['col1']*(-2)))
>>
col1 col3
row1 1 -2
row2 2 -4
row3 3 -6
동시에 여러열 할당
쉼표로 구분을 지으면서 여러개의 열을 할당할 수 있습니다.
print(df.assign(col2=lambda x : x.col1+2,col3=df['col1']*(-2)))
>>
col1 col2 col3
row1 1 3 -2
row2 2 4 -4
row3 3 5 -6
열이 중복될 경우
만약 추가할 새 열의 이름이 기존열과 중복된다면, 새 값으로 덮어씌워집니다.
print(df.assign(col1=[0,0,0]))
>>
col1
row1 0
row2 0
row3 0
print(df.assign(col1=[0,0,0]))
>>
col1
row1 0
row2 0
row3 0
반응형
'파이썬완전정복-Pandas DataFrame > 09. 가공' 카테고리의 다른 글
Pandas DataFrame 09-14. 리스트 형태의 값 전개 (explode) (0) | 2022.01.24 |
---|---|
Pandas DataFrame 09-13. 값 변경 (replace) (0) | 2022.01.24 |
Pandas DataFrame 09-11. 피벗해제 (melt) (0) | 2022.01.23 |
Pandas DataFrame 09-10. 피벗생성_스프레드시트 기반 (pivot_table) (0) | 2022.01.23 |
Pandas DataFrame 09-09. 피벗변환 (pivot) (0) | 2022.01.23 |