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

Gộp DataFrame Pandas với cột chung

Để gộp hai DataFrame Pandas với cột chung, sử dụng hàm merge() và đặt tham số ON là tên cột.

Trước tiên, nhập thư viện pandas với bí danh:

import pandas as pd

Tạo DataFrame thứ nhất:

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

Tạo DataFrame thứ hai:

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

Bây giờ, gộp hai DataFrame với cột chung "Car":

mergedRes = pd.merge(dataFrame1, dataFrame2, on='Car')

Ví dụ hoàn chỉnh

Mã nguồn đầy đủ:

import pandas as pd
# Tạo DataFrame1
dataFrame1 = pd.DataFrame(
    {
        "Car": ['BMW', 'Lexus', 'Audi', 'Mustang', 'Bentley', 'Jaguar'],
        "Units": [100, 150, 110, 80, 110, 90]
    }
)
print("DataFrame1 ...\n", dataFrame1)
# Tạo DataFrame2
dataFrame2 = pd.DataFrame(
    {
        "Car": ['BMW', 'Lexus', 'Audi', 'Mustang', 'Mercedes', 'Jaguar'],
        "Reg_Price": [7000, 1500, 5000, 8000, 9000, 6000]
    }
)
print("\nDataFrame2 ...\n", dataFrame2)
# gộp DataFrames với cột chung Car
mergedRes = pd.merge(dataFrame1, dataFrame2, on='Car')
print("\nDataFrame gộp với cột chung...\n", mergedRes)

Kết quả

Chương trình sẽ tạo ra kết quả sau:

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 Audi     5000
3 Mustang  8000
4 Mercedes 9000
5 Jaguar   6000
Merged data frame with common column...
   Car  Units  Reg_Price
0  BMW    100      7000
1 Lexus   150      1500
2 Audi    110      5000
3 Mustang 80      8000
4 Jaguar  90      6000