Pandas DataFrame에 새 열 추가하기: 방법 및 기술
Published on
데이터프레임으로 작업하는 것은 데이터 분석 및 데이터 과학의 필수적인 부분입니다. Pandas는 데이터 조작 및 분석에 널리 사용되는 라이브러리이며, 데이터프레임을 작업하는 간편하고 유연한 방법을 제공합니다. 데이터프레임은 서로 다른 유형의 열을 가진 2차원 레이블이 지정된 데이터 구조입니다. 스프레드시트나 SQL 테이블과 같지만 더 강력하고 유연합니다. 이 문서에서는 기존 Pandas 데이터프레임에 새 열을 추가하는 방법을 학습하고, Pandas 데이터프레임에 새 열을 삽입하는 다양한 방법과 기술에 대해 논의할 것입니다.
Python에서 빠르게 데이터 시각화를 만들고 싶나요?
PyGWalker는 Jupyter Notebook 기반 환경에서 데이터 분석 및 시각화 워크플로우의 속도를 높이는 데 도움이되는 오픈소스 Python 프로젝트입니다.
PyGWalker (opens in a new tab)는 Pandas 데이터프레임(또는 Polars 데이터프레임)을 시각적 UI로 변환하여 변수를 드래그 앤 드롭하여 쉽게 그래프를 생성할 수 있습니다. 다음 코드를 사용하세요.
pip install pygwalker
import pygwalker as pyg
gwalker = pyg.walk(df)
PyGWalker를 지금 바로 실행해 볼 수 있는 온라인 노트북입니다:
그리고, GitHub에서 ⭐️를 꼭 눌러주세요!
Pandas DataFrame이란?
Pandas 데이터프레임은 레이블이 지정된 두 개의 축이 있는 데이터 구조입니다. 스프레드시트나 SQL 테이블과 비슷하지만 더 많은 기능과 유연성을 가지고 있습니다. 데이터프레임은 CSV, Excel, SQL 데이터베이스 등 다양한 입력 데이터 형식에서 생성할 수 있습니다. Pandas 라이브러리에서 제공하는 다양한 방법과 함수를 사용하여 데이터프레임을 조작하고 분석할 수 있습니다.
Pandas DataFrame에 새 열 추가하는 방법
기존 Pandas 데이터프레임에 새 열을 추가하려면 다양한 방법과 기술을 사용할 수 있습니다. 가장 일반적인 방법은 간단한 할당을 사용하는 것입니다. 예를 들어보겠습니다.
두 개의 열 'Name'과 'Age'을 가진 데이터프레임이 있다고 가정합니다.
import pandas as pd
data = {
'Name': ['Alice', 'Bob', 'Charlie', 'David'],
'Age': [25, 30, 35, 40]
}
df = pd.DataFrame(data)
출력 결과:
Name Age
0 Alice 25
1 Bob 30
2 Charlie 35
3 David 40
이제 데이터프레임에 'Salary'라는 새로운 열을 추가하고자 합니다. 간단한 할당을 사용하여 다음과 같이 추가할 수 있습니다.
df['Salary'] = [50000, 60000, 70000, 80000]
print(df)
출력 결과:
Name Age Salary
0 Alice 25 50000
1 Bob 30 60000
2 Charlie 35 70000
3 David 40 80000
새로운 열 'Salary'이 데이터프레임에 추가된 것을 확인할 수 있습니다.
판다스 데이터프레임에 새로운 열을 추가하는 방법
판다스 데이터프레임에 새로운 열을 추가하는 다양한 방법과 기술이 있습니다. 하나씩 알아보겠습니다.
방법 1: 간단한 할당
앞서 본 예시처럼, 데이터프레임에 간단한 할당을 사용하여 새로운 열을 추가할 수 있습니다. 리스트나 넘파이 배열을 새로운 열 이름에 할당하면 됩니다.
df['NewColumn'] = [1, 2, 3, 4]
방법 2: insert 메소드
데이터프레임에 새로운 열을 삽입하는 또 다른 방법은 insert
메소드를 사용하는 것입니다. insert
메소드는 세 개의 인자를 필요로 합니다: loc
, column
, value
입니다. loc
은 새로운 열을 삽입할 열의 인덱스입니다. column
은 새로운 열의 이름이고, value
는 새로운 열에 할당할 값을 나타냅니다.
df.insert(loc=1, column='NewColumn', value=[1, 2, 3, 4])
방법 3: concat 메소드
데이터프레임에 새로운 열을 추가하는 다른 방법은 두 데이터프레임을 축 1을 따라 연결하여 새로운 열을 추가하는 것입니다. 새로운 열은 기존 데이터프레임의 오른쪽에 추가됩니다. concat
메소드는 두 데이터프레임을 인자로 받아 축 1을 따라 연결합니다.
df2 = pd.DataFrame({'NewColumn': [1, 2, 3, 4]})
df = pd.concat([df, df2], axis=1)
메소드 4: 할당 메소드
assign
메소드를 사용하면 데이터프레임에서 새로운 열을 생성하고 해당 열의 값을 포함하는 새로운 데이터프레임을 반환할 수 있습니다. 이 메소드는 딕셔너리를 인수로 사용하여 각 키가 새로운 열 이름을, 각 값이 새로운 열의 값들을 나타내도록 합니다.
df = df.assign(NewColumn=[1, 2, 3, 4])
새로운 열을 추가할 때 기존의 열을 덮어쓸 수 있나요?
네, 새로운 열을 추가하면서 기존의 열을 덮어쓸 수 있습니다. 열에 값들을 할당할 경우, 해당 열의 기존 값들은 새로운 값들로 대체됩니다.
df['Age'] = [26, 31, 36, 41]
Pandas 데이터프레임에서 열을 지정된 위치에 추가하는 방법은 무엇인가요?
insert
메소드를 사용하면 Pandas 데이터프레임에서 지정된 위치에 열을 추가할 수 있습니다. loc
매개변수는 열을 삽입할 위치를 지정합니다. 열의 정수 인덱스를 사용하여 위치를 지정할 수 있습니다.
df.insert(2, 'NewColumn', [1, 2, 3, 4])
열 이름을 사용하여 위치를 지정할 수도 있습니다.
df.insert(df.columns.get_loc("Age"), 'NewColumn', [1, 2, 3, 4])
결론
이 글에서는 기존의 Pandas 데이터프레임에 새로운 열을 추가하는 방법을 배웠습니다. 간단한 할당, insert 메소드, concatenate 메소드 및 assign 메소드를 사용하여 Pandas 데이터프레임에 새로운 열을 삽입하는 다양한 방법과 기존의 열을 덮어쓰면서 새로운 열을 추가하는 방법, 그리고 Pandas 데이터프레임에서 지정된 위치에 열을 삽입하는 방법 등을 논의했습니다. 이러한 기술을 활용하여 데이터프레임을 효율적이고 효과적으로 조작할 수 있습니다.