4 loại DataFrame tham gia được cung cấp bởi Thư viện gấu trúc của Python

4 loại DataFrame tham gia được cung cấp bởi Thư viện gấu trúc của Python

Là một nhà phân tích dữ liệu, bạn sẽ thường phải đối mặt với việc phải kết hợp nhiều bộ dữ liệu. Bạn sẽ cần làm điều này để hoàn thành phân tích của mình và đưa ra kết luận cho doanh nghiệp / các bên liên quan của bạn.





Việc thể hiện dữ liệu khi được lưu trữ trong các bảng khác nhau thường là một thách thức. Trong những trường hợp như vậy, các phép nối chứng tỏ giá trị của chúng, bất kể ngôn ngữ lập trình bạn đang làm việc.





LÀM VIDEO TRONG NGÀY

Các phép nối trong Python giống như phép nối SQL: chúng kết hợp các tập dữ liệu bằng cách khớp các hàng của chúng trên một chỉ mục chung.





Tạo hai DataFrames để tham khảo

Để làm theo các ví dụ trong hướng dẫn này, bạn có thể tạo hai DataFrames mẫu. Sử dụng mã sau để tạo DataFrame đầu tiên, chứa ID, tên và họ.

import pandas as pd 

a = pd.DataFrame({"ID": ["001", "002", "003", "004", "005"],
"Fname": ["Ron", "John", "Helen", "Jenny", "Kenny"],
"Lname": ["Keith", "Harley", "Smith", "Kerr-Hislop", "Barber"]})
print(a)

Đối với bước đầu tiên, hãy nhập gấu trúc thư viện. Sau đó, bạn có thể sử dụng một biến, một , để lưu trữ kết quả từ phương thức khởi tạo DataFrame. Chuyển cho hàm tạo một từ điển chứa các giá trị cần thiết của bạn.



Cuối cùng, hiển thị nội dung của giá trị DataFrame bằng chức năng in, để kiểm tra mọi thứ trông như bạn mong đợi.

Tương tự, bạn có thể tạo một DataFrame khác, b , chứa một ID và các giá trị tiền lương.





b = pd.DataFrame({"ID": ["001", "002", "003", "004", "005"], 
"Salary": [100000, 700000, 80000, 904750, 604772]})

print(b)

Bạn có thể kiểm tra đầu ra trong bảng điều khiển hoặc IDE. Nó sẽ xác nhận nội dung của DataFrames của bạn:

cách tìm kiếm máy chủ bất hòa

Tham gia khác với chức năng hợp nhất trong Python như thế nào?

Thư viện gấu trúc là một trong những thư viện chính mà bạn có thể sử dụng để thao tác với DataFrames. Vì DataFrames chứa nhiều tập dữ liệu, các hàm khác nhau có sẵn trong Python để kết hợp chúng.





Python cung cấp các hàm nối và hợp nhất, trong số nhiều hàm khác, mà bạn có thể sử dụng để kết hợp các DataFrames. Có một sự khác biệt rõ ràng giữa hai chức năng này, mà bạn phải ghi nhớ trước khi sử dụng.

Hàm nối kết hợp hai DataFrames dựa trên các giá trị chỉ mục của chúng. Các chức năng hợp nhất kết hợp DataFrames dựa trên các giá trị chỉ mục và các cột.

Bạn cần biết gì về tham gia trong Python?

Trước khi thảo luận về các loại liên kết có sẵn, đây là một số điều quan trọng cần lưu ý:

  • Các phép nối trong SQL là một trong những hàm cơ bản nhất và khá giống với các phép nối của Python.
  • Để tham gia DataFrames, bạn có thể sử dụng pandas.DataFrame.join () phương pháp.
  • Phép nối mặc định thực hiện phép nối bên trái, trong khi hàm hợp nhất thực hiện phép nối bên trong.

Cú pháp mặc định cho một phép nối Python như sau:

DataFrame.join(other, on=None, how='left/right/inner/outer', lsuffix='', rsuffix='', 
sort=False)

Gọi phương thức nối trên DataFrame đầu tiên và chuyển DataFrame thứ hai làm tham số đầu tiên của nó, khác . Các đối số còn lại là:

  • trên , đặt tên cho một chỉ mục để tham gia, nếu có nhiều hơn một.
  • thế nào , cái mà xác định kiểu nối, bao gồm bên trong, bên ngoài, bên trái và bên phải.
  • lsuffix , cái mà xác định chuỗi hậu tố bên trái của tên cột của bạn.
  • rsuffix , cái mà xác định chuỗi hậu tố bên phải của tên cột của bạn.
  • loại , cái mà là một boolean cho biết có nên sắp xếp DataFrame kết quả hay không.

Học cách sử dụng các loại tham gia khác nhau trong Python

Python có một số tùy chọn tham gia mà bạn có thể thực hiện, tùy thuộc vào nhu cầu của giờ. Dưới đây là các kiểu tham gia:

1. Tham gia trái

Phép nối bên trái giữ nguyên các giá trị của DataFrame đầu tiên trong khi mang lại các giá trị phù hợp từ phép nối thứ hai. Ví dụ: nếu bạn muốn mang lại các giá trị phù hợp từ b , bạn có thể định nghĩa nó như sau:

c = a.join(b, how="left", lsuffix = "_left", rsuffix = "_right", sort = True) 
print(c)

Khi truy vấn thực thi, đầu ra chứa các tham chiếu cột sau:

cách tải video về kính tiềm vọng
  • ID_left
  • Họ tên
  • Tên
  • ID_right
  • Lương

Phép nối này kéo ba cột đầu tiên từ DataFrame đầu tiên và hai cột cuối cùng từ DataFrame thứ hai. Nó đã sử dụng lsuffix rsuffix để đổi tên các cột ID từ cả hai tập dữ liệu, đảm bảo tên trường kết quả là duy nhất.

Kết quả như sau:

  Mã hiển thị kết nối bên trái bằng Python's dataframes

2. Tham gia đúng

Phép nối bên phải giữ nguyên các giá trị của DataFrame thứ hai, đồng thời mang lại các giá trị phù hợp từ bảng đầu tiên. Ví dụ: nếu bạn muốn mang lại các giá trị phù hợp từ một , bạn có thể định nghĩa nó như sau:

c = b.join(a, how="right", lsuffix = "_right", rsuffix = "_left", sort = True) 
print(c)

Kết quả như sau:

  Mã hiển thị tham gia đúng bằng Python's dataframes

Nếu bạn xem lại mã, có một vài thay đổi rõ ràng. Ví dụ: kết quả bao gồm các cột của DataFrame thứ hai trước các cột từ DataFrame đầu tiên.

các ví dụ về trang web html với mã nguồn

Bạn nên sử dụng giá trị là bên phải cho thế nào đối số để chỉ định một phép nối đúng. Ngoài ra, hãy lưu ý cách bạn có thể chuyển đổi lsuffix rsuffix các giá trị để phản ánh bản chất của phép nối đúng.

Trong các phép nối thông thường, bạn có thể thấy mình sử dụng các phép nối bên trái, bên trong và bên ngoài thường xuyên hơn, so với phép nối bên phải. Tuy nhiên, việc sử dụng hoàn toàn phụ thuộc vào yêu cầu dữ liệu của bạn.

3. Tham gia bên trong

Một phép nối bên trong cung cấp các mục nhập phù hợp từ cả hai DataFrames. Vì phép nối sử dụng số chỉ mục để khớp các hàng, nên phép nối bên trong chỉ trả về các hàng khớp. Đối với hình minh họa này, hãy sử dụng hai DataFrames sau:

a = pd.DataFrame({"ID": ["001", "002", "003", "004", "005", "006", "007"], 
"Fname": ["Ron", "John", "Helen", "Jenny", "Kenny", "Daryl", "Cathy"],
"Lname": ["Keith", "Harley", "Smith", "Kerr-Hislop", "Barber", "Hooper", "Hope"]})
b = pd.DataFrame({"ID": ["001", "002", "003", "004", "005"],
"Salary": [100000, 700000, 80000, 904750, 604772]})

print(a)
print(b)

Kết quả như sau:

  Tạo khung dữ liệu mới bằng Python

Bạn có thể sử dụng một phép nối bên trong, như sau:

c = a.join(b, lsuffix="_left", rsuffix="_right", how='inner') 
print(c)

Kết quả đầu ra chỉ chứa các hàng tồn tại trong cả hai DataFrames đầu vào:

  Mã hiển thị liên kết bên trong bằng Python's dataframes

4. Tham gia bên ngoài

Một phép nối bên ngoài trả về tất cả các giá trị từ cả hai DataFrames. Đối với các hàng không có giá trị phù hợp, nó tạo ra giá trị rỗng trên các ô riêng lẻ.

Sử dụng cùng một DataFrame như trên, đây là mã cho kết nối bên ngoài:

c = a.join(b, lsuffix="_left", rsuffix="_right", how='outer') 
print(c)
  Mã hiển thị liên kết bên ngoài bằng Python's dataframes

Sử dụng Joins trong Python

Tham gia, giống như các chức năng đối ứng của chúng, hợp nhất và kết hợp, cung cấp nhiều hơn một chức năng kết hợp đơn giản. Với một loạt các tùy chọn và chức năng, bạn có thể chọn các tùy chọn đáp ứng yêu cầu của mình.

Bạn có thể sắp xếp các tập dữ liệu kết quả tương đối dễ dàng, có hoặc không có hàm nối, với các tùy chọn linh hoạt mà Python cung cấp.