Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Python Pandas - Gộp DataFrame quan hệ one-to-one


Gộp DataFrame dùng merge(). Quan hệ one-to-one thiết lập qua tham số validate="one_to_one" (hoặc "1:1"). Kiểm tra khóa duy nhất ở cả hai DataFrame.

Tạo DataFrame1:

dataFrame1 = pd.DataFrame({"Car": ['BMW', 'Lexus', 'Audi', 'Mustang', 'Bentley', 'Jaguar'],
    "Units": [100, 150, 110, 80, 110, 90]})

Tạo DataFrame2:

dataFrame2 = pd.DataFrame({"Car": ['BMW', 'Lexus', 'Tesla', 'Mustang', 'Mercedes', 'Jaguar'],
    "Reg_Price": [7000, 1500, 5000, 8000, 9000, 6000]})

Ví dụ

import pandas as pd 
dataFrame1 = pd.DataFrame({"Car": ['BMW', 'Lexus', 'Audi', 'Mustang', 'Bentley', 'Jaguar'],
    "Units": [100, 150, 110, 80, 110, 90]}) 
print("DataFrame1 ...\n", dataFrame1) 
dataFrame2 = pd.DataFrame({"Car": ['BMW', 'Lexus', 'Tesla', 'Mustang', 'Mercedes', 'Jaguar'],
    "Reg_Price": [7000, 1500, 5000, 8000, 9000, 6000]}) 
print("\nDataFrame2 ...\n", dataFrame2) 
mergedRes = pd.merge(dataFrame1, dataFrame2, validate="one_to_one") 
print("\nDataFrame gộp one-to-one...\n", mergedRes)

Kết quả

DataFrame1 ... 
  Car  Units 
0 BMW  100 
1 Lexus  150 
2 Audi  110 
3 Mustang  80 
4 Bentley  110 
5 Jaguar  90 
DataFrame2 ... 
  Car  Reg_Price 
0 BMW  7000 
1 Lexus  1500 
2 Tesla  5000 
3 Mustang  8000 
4 Mercedes  9000 
5 Jaguar  6000 
Merged dataframe with one-to-one relation 
  Car  Units  Reg_Price 
0 BMW  100  7000 
1 Lexus  150  1500 
2 Mustang  80  8000 
3 Jaguar  90  6000