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가 됩니다.
'파이썬 > Pandas' 카테고리의 다른 글
Pandas DataFrame의 행을 순회하는 방법 (0) | 2024.01.18 |
---|---|
read_csv로 csv파일을 읽을 때 Unnamed : 0 열이 생기지 않도록 파일을 여는 방법 (0) | 2024.01.17 |
Pandas DataFrame에서 열 삭제하기 (1) | 2024.01.15 |
파이썬 pandas : 인덱스 조작 방법 (0) | 2023.04.01 |
파이썬 Pandas 데이터프레임 합성 방법 (0) | 2023.03.31 |