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

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


Gộp DataFrame dùng merge(). Quan hệ many-to-one qua validate="many_to_one" (hoặc "m:1"). Kiểm tra khóa duy nhất ở DataFrame bên phải.

DataFrame1:

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

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', 'Audi', 'Mustang', 'Bentley', 'Jaguar'],
    "Units": [100, 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="many_to_one") 
print("\nDataFrame gộp many-to-one...\n", mergedRes)

Kết quả

DataFrame1 ... 
  Car  Units 
0 BMW  100 
1 Audi  110 
2 Mustang  80 
3 Bentley  110 
4 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 many-to-one relation... 
  Car  Units  Reg_Price 
0 BMW  100  7000 
1 Mustang  80  8000 
2 Jaguar  90  6000