반응형

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
반응형

+ 최근 글