Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Pandas에서 다른 DataFrame의 열을 추가하는 방법 – insert() 메서드 완벽 가이드

Pandas에서 한 DataFrame의 열을 다른 DataFrame으로 가져와 추가하려면 insert() 메서드를 사용하면 됩니다. 이 메서드는 단순히 열을 끝에 붙이는 것이 아니라, 원하는 위치(인덱스)에 정확히 삽입할 수 있다는 점에서 매우 유용합니다.

먼저 첫 번째 DataFrame을 생성해 보겠습니다.

dataFrame1 = pd.DataFrame({"Car": ["Audi", "Lamborghini", "BMW", "Lexus"],
    "Place": ["US", "UK", "India", "Australia"],
    "Units": [200, 500, 800, 1000]})

다음으로 두 번째 DataFrame을 생성합니다.

dataFrame2 = pd.DataFrame({"Model": [2018, 2019, 2020, 2021], "CC": [3000, 2800, 3500, 3300]})

다른 DataFrame에서 열 가져오기

첫 번째 DataFrame(dataFrame1)의 Car 열을 두 번째 DataFrame(dataFrame2)에 추가해 보겠습니다. 먼저 해당 열을 변수로 가져옵니다.

# 두 번째 데이터프레임에 추가할 Car 열 가져오기
fetched_col = dataFrame1["Car"]

insert() 메서드의 주요 매개변수

  • loc: 열이 삽입될 위치의 인덱스 (예: 1이면 두 번째 열 자리)
  • column: 새로 추가될 열의 이름
  • value: 삽입할 값 (Series, 리스트, 배열 등)

전체 예제 코드

아래는 위 과정을 모두 포함한 전체 코드입니다.

import pandas as pd

dataFrame1 = pd.DataFrame({"Car": ["Audi", "Lamborghini", "BMW", "Lexus"],
    "Place": ["US", "UK", "India", "Australia"],
    "Units": [200, 500, 800, 1000]})

print("Dataframe 1...")
print(dataFrame1)

dataFrame2 = pd.DataFrame({"Model": [2018, 2019, 2020, 2021], "CC": [3000, 2800, 3500, 3300]})
print("Dataframe 2...")
print(dataFrame2)

# 두 번째 데이터프레임에 추가할 Car 열 가져오기
fetched_col = dataFrame1["Car"]

dataFrame2.insert(1, "LuxuryCar", fetched_col)
print("Dataframe 2 (Updated):")
print(dataFrame2)

실행 결과

위 코드를 실행하면 다음과 같은 출력 결과를 확인할 수 있습니다.

Dataframe 1...
         Car      Place     Units
0       Audi         US       200
1 Lamborghini         UK       500
2        BMW      India       800
3       Lexus  Australia      1000
Dataframe 2...
    CC   Model
0 3000    2018
1 2800    2019
2 3500    2020
3 3300    2021
Dataframe 2 (Updated):
    CC   LuxuryCar   Model
0 3000        Audi    2018
1 2800 Lamborghini    2019
2 3500         BMW    2020
3 3300        Lexus    2021

출력 결과를 보면 LuxuryCar라는 이름의 새 열이 인덱스 1 위치, 즉 CC 열과 Model 열 사이에 성공적으로 삽입된 것을 확인할 수 있습니다. 이처럼 insert() 메서드를 활용하면 다른 DataFrame의 열을 원하는 위치에 자유롭게 추가할 수 있습니다.