Tìm hiểu cách hợp nhất các khung dữ liệu bằng Python
Nếu bạn sử dụng Python, ngay cả cho những tác vụ đơn giản nhất, bạn có thể nhận thức được tầm quan trọng của các thư viện bên thứ ba của nó. Thư viện Pandas, với sự hỗ trợ tuyệt vời cho DataFrames, là một trong những thư viện như vậy.
Bạn có thể nhập nhiều loại tệp vào Python DataFrames và tạo nhiều phiên bản khác nhau để lưu trữ các tập dữ liệu khác nhau. Sau khi nhập dữ liệu của mình bằng DataFrames, bạn có thể hợp nhất chúng để thực hiện phân tích chi tiết.
Mục Lục
Giải quyết vấn đề cơ bản
Trước khi bắt đầu hợp nhất, bạn cần có DataFrames để hợp nhất. Đối với mục đích phát triển, bạn có thể tạo một số dữ liệu giả để thử nghiệm.
Tạo DataFrames bằng Python
Bước đầu tiên, hãy nhập thư viện Pandas vào tệp Python của bạn. Pandas là một thư viện của bên thứ ba xử lý DataFrames bằng Python. Bạn có thể dùng nhập khẩu để sử dụng thư viện, như sau:
import pandas as pd
Bạn có thể gán một bí danh cho tên thư viện để rút ngắn các tham chiếu mã của bạn.
Bạn cần tạo từ điển để chuyển đổi thành DataFrames. Để có kết quả tốt nhất, hãy tạo hai biến từ điển—dict1 và dict2—để lưu trữ các phần thông tin cụ thể:
dict1 = {"user_id": ["001", "002", "003", "004", "005"],
"FName": ["John", "Brad", "Ron", "Roald", "Chris"],
"LName": ["Harley", "Cohen", "Dahl", "Harrington", "Kerr-Hislop"]}dict2 = {"user_id": ["001", "002", "003", "004"], "Age": [15, 28, 34, 24]}
Hãy nhớ rằng, bạn cần có một phần tử chung trong cả hai giá trị từ điển, để đóng vai trò là khóa chính để kết hợp các DataFrames của bạn sau này.
Chuyển từ điển của bạn thành DataFrames
Để chuyển đổi các giá trị từ điển của bạn thành DataFrames, bạn có thể sử dụng phương pháp sau:
df1 = pd.DataFrame(dict1)
df2 = pd.DataFrame(dict2)
Một số IDE cho phép bạn kiểm tra các giá trị trong DataFrame bằng cách tham chiếu đến hàm DataFrame và nhấn Chạy / Thực thi. Có nhiều IDE tương thích với Python, vì vậy bạn có thể chọn và chọn một IDE dễ học nhất.
Khi bạn đã hài lòng với nội dung của DataFrames của mình, bạn có thể chuyển sang bước hợp nhất.
Kết hợp các khung với chức năng hợp nhất
Hàm hợp nhất là hàm Python đầu tiên bạn có thể sử dụng để kết hợp hai DataFrames. Hàm này nhận các đối số mặc định sau:
pd.merge(DataFrame1, DataFrame2, how= type of merge)
Ở đâu:
- pd là một bí danh cho thư viện Pandas.
- hợp nhất là chức năng hợp nhất DataFrames.
- DataFrame1 và DataFrame2 là hai DataFrames để hợp nhất.
- thế nào xác định kiểu hợp nhất.
Có sẵn một số đối số tùy chọn bổ sung, bạn có thể sử dụng đối số này khi có cấu trúc dữ liệu phức tạp.
Bạn có thể sử dụng các giá trị khác nhau cho tham số how để xác định kiểu hợp nhất sẽ thực hiện. Những kiểu kết hợp này sẽ quen thuộc nếu bạn đã sử dụng SQL để nối các bảng cơ sở dữ liệu.
Hợp nhất trái
Kiểu hợp nhất bên trái giữ nguyên các giá trị của DataFrame đầu tiên và kéo các giá trị phù hợp từ DataFrame thứ hai.
Hợp nhất bên phải
Loại hợp nhất phù hợp giữ nguyên các giá trị của DataFrame thứ hai và kéo các giá trị phù hợp từ DataFrame đầu tiên.
Hợp nhất bên trong
Loại hợp nhất bên trong giữ lại các giá trị phù hợp từ cả DataFrames và loại bỏ các giá trị không phù hợp.
Hợp nhất bên ngoài
Loại hợp nhất bên ngoài giữ lại tất cả các giá trị phù hợp và không khớp và hợp nhất các DataFrames với nhau.
Cách sử dụng hàm Concat
Các kết hợp hàm là một tùy chọn linh hoạt so với một số hàm hợp nhất khác của Python. Với chức năng concat, bạn có thể kết hợp DataFrames theo chiều dọc và chiều ngang.
Tuy nhiên, hạn chế của việc sử dụng hàm này là nó loại bỏ mọi giá trị không khớp theo mặc định. Giống như một số hàm liên quan khác, hàm này có một số đối số, trong đó chỉ có một số đối số là cần thiết để nối thành công.
concat(dataframes, axis=0, join='outer'/’inner’)
Ở đâu:
- kết hợp là hàm tham gia DataFrames.
- khung dữ liệu là một chuỗi các DataFrames để nối.
- trục đại diện cho hướng nối, 0 là ngang, 1 là dọc.
- tham gia chỉ định một kết nối bên ngoài hoặc bên trong.
Sử dụng hai DataFrames trên, bạn có thể thử hàm concat như sau:
df_merged_concat = pd.concat([df1, df2])
print(df_merged_concat)
Sự vắng mặt của các đối số trục và nối trong đoạn mã trên kết hợp hai tập dữ liệu. Kết quả đầu ra có tất cả các mục nhập, bất kể trạng thái khớp.
Tương tự, bạn có thể sử dụng các đối số bổ sung để điều khiển hướng và đầu ra của hàm concat.
Để kiểm soát đầu ra với tất cả các mục nhập phù hợp:
df_merged_concat = pd.concat([df1, df2], axis=1, join = 'inner')print(df_merged_concat)
Kết quả chỉ chứa tất cả các giá trị phù hợp giữa hai DataFrames.
Hợp nhất DataFrames với Python
DataFrame là một phần không thể thiếu của Python, xét về tính linh hoạt và chức năng của chúng. Với công dụng nhiều mặt của chúng, bạn có thể sử dụng chúng một cách rộng rãi để thực hiện nhiều tác vụ một cách dễ dàng nhất.
Nếu bạn vẫn đang tìm hiểu về Python DataFrames, hãy thử nhập một số tệp Excel, sau đó kết hợp chúng với các cách tiếp cận khác nhau.