Computer >> Máy Tính >  >> Lập trình >> Python

Python Pandas - Tìm các hàng chung giữa hai DataFrame bằng merge ()

Để tìm các hàng chung giữa hai DataFrame với merge (), hãy sử dụng tham số “ how ”Là“ bên trong ”Vì nó hoạt động giống như SQL Internal Join và đây là những gì chúng tôi muốn đạt được.

Hãy để chúng tôi tạo DataFrame1 với hai cột -

dataFrame1 = pd.DataFrame(
   {
      "Car": ['BMW', 'Lexus', 'Audi', 'Tesla', 'Bentley', 'Jaguar'],
      "Reg_Price": [1000, 1500, 1100, 800, 1100, 900] }
)

Tạo DataFrame2 với hai cột -

dataFrame2 = pd.DataFrame(
   {
      "Car": ['BMW', 'Lexus', 'Audi', 'Tesla', 'Bentley', 'Jaguar'],
      "Reg_Price": [1200, 1500, 1000, 800, 1100, 1000]
   }
)

Bây giờ chúng ta hãy tìm các hàng chung -

dataFrame1.merge(dataFrame2, how = 'inner' ,indicator=False)

Ví dụ

Sau đây là mã -

import pandas as pd

# Create DataFrame1
dataFrame1 = pd.DataFrame(
   {
      "Car": ['BMW', 'Lexus', 'Audi', 'Tesla', 'Bentley', 'Jaguar'],
      "Reg_Price": [1000, 1500, 1100, 800, 1100, 900] }
)

print"DataFrame1 ...\n",dataFrame1

# Create DataFrame2
dataFrame2 = pd.DataFrame(
   {
      "Car": ['BMW', 'Lexus', 'Audi', 'Tesla', 'Bentley', 'Jaguar'],
      "Reg_Price": [1200, 1500, 1000, 800, 1100, 1000]
   }
)

print"\nDataFrame2 ...\n",dataFrame2

# finding common rows between two DataFrames
resData = dataFrame1.merge(dataFrame2, how = 'inner' ,indicator=False)
print"\nCommon rows between two DataFrames...\n",resData

Đầu ra

Điều này sẽ tạo ra kết quả sau -

DataFrame1 ...
       Car   Reg_Price
0      BMW       1000
1    Lexus       1500
2     Audi       1100
3    Tesla        800
4  Bentley       1100
5   Jaguar        900

DataFrame2 ...
       Car   Reg_Price
0      BMW        1200
1    Lexus        1500
2     Audi        1000
3    Tesla         800
4  Bentley        1100
5   Jaguar        1000

Common rows between two DataFrames...
       Car   Reg_Price
0    Lexus        1500
1    Tesla         800
2  Bentley        1100