파이썬/Pandas

Pandas DataFrame의 열 추가하기

코샵 2024. 1. 16. 10:01
반응형

Pandas DataFrame에 열을 추가하는 방법은 크게 다음과 같이 다섯 가지가 있습니다.

  • 할당 연산자를 사용해, 빈 문자열로 열 추가
  • .assign() 메서드로 빈 열 추가
  • .reindex() 메서드로 빈 열 추가
  • .insert() 메서드로 원본 데이터프레임에서 원하는 위치에 열 추가
  • .apply() 메서드로 빈 열 추가

할당 연산자 사용

가장 간단한 방법은 할당 연산자를 사용하여 빈 문자열로 열을 추가하는 것입니다.

df = pd.DataFrame({'col1': [1, 2, 3]})

df['col2'] = ''

print(df)
   col1  col2
0    1    
1    2    
2    3    

이 방법은 열 이름과 열의 값을 지정할 수 있습니다. 열 이름은 문자열이어야 합니다. 열의 값은 리스트, NumPy 배열, Series, 또는 숫자, 문자열, 불리언 등과 같은 단일 값이 될 수 있습니다.

 

.assign() 메서드

.assign() 메서드는 DataFrame에 열을 추가하거나 기존 열을 수정하는 데 사용할 수 있는 메서드입니다.

df = pd.DataFrame({'col1': [1, 2, 3]})

df = df.assign(col2='')

print(df)
   col1  col2
0    1    
1    2    
2    3    

이 방법도 열 이름과 열의 값을 지정할 수 있습니다.

 

.reindex() 메서드

.reindex() 메서드는 DataFrame의 인덱스를 재설정하는 데 사용할 수 있는 메서드입니다. 열을 추가하려면 fill_value 인수를 사용하여 빈 열의 값을 지정합니다.

df = pd.DataFrame({'col1': [1, 2, 3]})

df = df.reindex(columns=['col1', 'col2'], fill_value='')

print(df)
   col1  col2
0    1    
1    2    
2    3    

이 방법은 .assign() 메서드와 비슷하지만, .assign() 메서드는 기존 열을 수정할 수 있는 반면, .reindex() 메서드는 기존 열을 수정하지 않습니다.

 

.insert() 메서드

.insert() 메서드는 원본 데이터프레임에서 원하는 위치에 열을 추가하는 데 사용할 수 있는 메서드입니다.

df = pd.DataFrame({'col1': [1, 2, 3]})

df.insert(1, 'col2', '')

print(df)
   col2  col1
0    
1    1
2    2
3    3

이 방법은 열 이름, 열의 값, 그리고 열을 추가할 위치를 지정할 수 있습니다. 열의 위치는 0부터 시작합니다.

 

.apply() 메서드

.apply() 메서드는 DataFrame의 각 행 또는 열에 함수를 적용하는 데 사용할 수 있는 메서드입니다. 빈 열을 추가하려면 lambda 함수를 사용하여 열의 값을 지정합니다.

df = pd.DataFrame({'col1': [1, 2, 3]})

df['col2'] = df.apply(lambda x: '', axis=1)

print(df)
   col1  col2
0    1    
1    2    
2    3    

방법은 이름을 지정할 없습니다. 열의 이름은 col2 됩니다.