Làm thế nào để bạn tham gia 3 bảng trong python?
Thông qua việc sử dụng ngôn ngữ lập trình, chúng ta sẽ cùng nhau giải câu đố Mysql Inner Join 3 Tables trong bài học này. Điều này được thể hiện trong đoạn mã sau Show
SELECT student.firstname, student.lastname, exam.name, exam.date, grade.grade FROM grade INNER JOIN student ON student.studentId = grade.fk_studentId INNER JOIN exam ON exam.examId = grade.fk_examId ORDER BY exam.date Chúng tôi đã có thể tìm ra cách giải mã Mysql Inner Join 3 Tables bằng cách xem xét một loạt các mẫu khác Làm cách nào để tham gia 3 bảng bên trong tham gia MySQL?Có thể sử dụng nhiều câu lệnh nối với nhau để nối nhiều bảng cùng một lúc. Để làm điều đó, bạn thêm câu lệnh INNER JOIN thứ hai và câu lệnh ON thứ hai để chỉ ra bảng thứ ba và mối quan hệ thứ hai. 01-Apr-2022 Có thể tham gia bên trong cho 3 bảng không?Cách phổ biến nhất để tham gia ba bảng diễn ra như thế này. CHỌN * TỪ Bảng1 INNER THAM GIA Bảng2 BẬT Điều kiện INNER THAM GIA Bảng3 BẬT Điều kiện; . Bạn cũng có thể kết hợp các loại tham gia nếu cần (ví dụ bên dưới). 19-Feb-2021 Làm cách nào để tham gia 3 bảng trong SQL?Cách nối 3 bảng trở lên trong SQL
Bạn có thể tự nhiên tham gia 3 bảng trong SQL không?Sử dụng THAM GIA trong SQL không có nghĩa là bạn chỉ có thể tham gia hai bảng. Bạn có thể tham gia 3, 4 hoặc thậm chí nhiều hơn. Các khả năng là vô hạn. 21-Apr-2020 Chúng ta có thể Union 3 bàn không?Có thể kết hợp nhiều bảng thành một bảng lớn theo cả 3 cách. Như chúng ta đã thấy, hành vi của UNION trong SQL Server và UNION trong DAX trong Power BI là rất giống nhau. Ở đây các bảng có cùng số cột được đặt ngay dưới nhau. 01-Mar-2021 Tham gia bên trong và tham gia tự nhiên có giống nhau không?1. Thao tác nối được sử dụng để hợp nhất hai bảng tùy thuộc vào cùng tên cột và kiểu dữ liệu của chúng được gọi là nối tự nhiên. Tham gia bên trong có một điều kiện tham gia cụ thể. Ở đây, thao tác nối được sử dụng để tạo một bảng mới bằng cách nối các giá trị cột của hai bảng dựa trên vị từ nối Làm cách nào để tham gia 5 bảng trong SQL?Cú pháp THAM GIA nhiều bảng
Làm cách nào tôi có thể tham gia ba bảng trong SQL mà không cần THAM GIA?Cách tham gia các bảng trong SQL mà không cần sử dụng THAM GIA
Làm thế nào để bạn tham gia bên trong nhiều hơn hai bảng?Trước tiên, chúng tôi nối bảng 1 và bảng 2 để tạo ra một bảng tạm thời với dữ liệu kết hợp từ bảng 1 và bảng 2, sau đó được nối với bảng 3. Công thức này có thể được mở rộng cho hơn 3 bảng thành N bảng, Bạn chỉ cần đảm bảo rằng truy vấn SQL phải có N-1 câu lệnh nối để nối N bảng. 21-Feb-2013 Một tính năng thiết yếu được cung cấp bởi Pandas là các hoạt động kết hợp và hợp nhất trong bộ nhớ, hiệu suất cao của nó. Nếu bạn đã từng làm việc với cơ sở dữ liệu, bạn sẽ quen thuộc với kiểu tương tác dữ liệu này. Giao diện chính của chức năng này là hàm df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")0 và chúng ta sẽ xem một vài ví dụ về cách thức hoạt động của nó trong thực tế Để thuận tiện, chúng tôi sẽ bắt đầu bằng cách xác định lại chức năng của df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")1 từ phần trước Trong 1] import pandas as pd import numpy as np class display(object): """Display HTML representation of multiple objects""" template = """ Đại số quan hệ¶Hành vi được triển khai trong df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")2 là một tập hợp con của cái được gọi là đại số quan hệ, là một bộ quy tắc chính thức để thao tác dữ liệu quan hệ và tạo thành nền tảng khái niệm của các hoạt động có sẵn trong hầu hết các cơ sở dữ liệu. Điểm mạnh của phương pháp đại số quan hệ là nó đề xuất một số phép toán nguyên thủy, chúng trở thành nền tảng của các phép toán phức tạp hơn trên bất kỳ tập dữ liệu nào. Với từ vựng về các hoạt động cơ bản này được triển khai hiệu quả trong cơ sở dữ liệu hoặc chương trình khác, có thể thực hiện một loạt các hoạt động tổng hợp khá phức tạp Pandas triển khai một số khối xây dựng cơ bản này trong hàm df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")2 và phương thức df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")4 có liên quan của df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")5 và df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")6. Như chúng ta sẽ thấy, chúng cho phép bạn liên kết dữ liệu từ các nguồn khác nhau một cách hiệu quả Danh mục tham gia¶Hàm df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")2 thực hiện một số loại liên kết. phép nối một đối một, nhiều đối một và nhiều đối nhiều. Tất cả ba loại liên kết được truy cập thông qua một cuộc gọi giống hệt nhau tới giao diện df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")2; . Ở đây chúng tôi sẽ hiển thị các ví dụ đơn giản về ba loại hợp nhất và thảo luận thêm về các tùy chọn chi tiết bên dưới Tham gia trực tiếp¶Có lẽ kiểu diễn giải hợp nhất đơn giản nhất là phép nối một đối một, theo nhiều cách rất giống với phép nối theo cột được thấy trong Kết hợp Bộ dữ liệu. Concat và Append. Như một ví dụ cụ thể, hãy xem xét hai df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")9 sau đây chứa thông tin về một số nhân viên trong một công ty Trong 2] df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")2 Ra[2] df1 nhóm nhân viên0Kế toán Bob1JakeKỹ thuật2LisaKỹ thuật3SueHR df2 employeehire_date0Lisa20041Bob20082Jake20123Sue2014 Để kết hợp thông tin này thành một df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")30 duy nhất, chúng ta có thể sử dụng hàm df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")2 Trong 3] df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")5 Ra[3] employeegrouphire_date0BobAccounting20081JakeEngineering20122LisaEngineering20043SueHR2014 Hàm df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")2 nhận ra rằng mỗi df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")30 có một cột "nhân viên" và tự động tham gia bằng cách sử dụng cột này làm khóa. Kết quả của việc hợp nhất là một df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")30 mới kết hợp thông tin từ hai đầu vào. Lưu ý rằng thứ tự các mục trong mỗi cột không nhất thiết phải được duy trì. trong trường hợp này, thứ tự của cột "nhân viên" khác nhau giữa df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")35 và df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")36 và hàm df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")2 giải thích chính xác điều này. Ngoài ra, hãy nhớ rằng việc hợp nhất nói chung loại bỏ chỉ mục, ngoại trừ trường hợp đặc biệt hợp nhất theo chỉ mục (xem từ khóa df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")38 và df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")39, được thảo luận trong giây lát) Liên kết nhiều người¶Phép nối nhiều-một là phép nối trong đó một trong hai cột chính chứa các mục nhập trùng lặp. Đối với trường hợp nhiều-một, kết quả df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")30 sẽ giữ nguyên các mục nhập trùng lặp đó khi thích hợp. Xem xét ví dụ sau về liên kết nhiều-một Trong [4] df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")5 Ra[4] df3 employeegrouphire_date0BobAccounting20081JakeEngineering20122LisaEngineering20043SueHR2014 df4 nhómgiám sát0Kế toánCarly1Kỹ thuậtHướng dẫn2HRSteve pd. hợp nhất (df3, df4) employeegrouphire_datesupervisor0BobAccounting2008Carly1JakeEngineering2012Guido2LisaEngineering2004Guido3SueHR2014Steve Kết quả df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")30 có một cột bổ sung với thông tin "người giám sát", trong đó thông tin được lặp lại ở một hoặc nhiều vị trí theo yêu cầu của đầu vào Liên kết nhiều-nhiều¶Các phép nối nhiều-nhiều hơi khó hiểu về mặt khái niệm, nhưng vẫn được xác định rõ ràng. Nếu cột khóa trong cả mảng bên trái và bên phải chứa các cột trùng lặp, thì kết quả là hợp nhất nhiều-nhiều. Điều này có lẽ sẽ rõ ràng nhất với một ví dụ cụ thể. Hãy xem xét những điều sau đây, nơi chúng tôi có một df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")30 thể hiện một hoặc nhiều kỹ năng liên quan đến một nhóm cụ thể. Bằng cách thực hiện liên kết nhiều-nhiều, chúng tôi có thể khôi phục các kỹ năng liên quan đến bất kỳ cá nhân nào Trong [5] df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)") Ra[5] df1 nhóm nhân viên0Kế toán Bob1JakeKỹ thuật2LisaKỹ thuật3SueHR df5 kỹ năng nhóm0Kế toán toán1Bảng tính kế toán2Kỹ thuật viết mã3Kỹ thuật linux4Bảng tính nhân sự5Tổ chức nhân sự pd. hợp nhất (df1, df5) nhóm nhân viênkỹ năng0BobKế toántoán học1BobBảng tính kế toán2JakeMã hóa kỹ thuật3JakeKỹ thuật linux4LisaMã hóa kỹ thuật5LisaEngineeringlinux6SueBảng tính nhân sự7SueHRTổ chức Ba loại liên kết này có thể được sử dụng với các công cụ Pandas khác để triển khai nhiều chức năng. Nhưng trên thực tế, các bộ dữ liệu hiếm khi rõ ràng như bộ dữ liệu chúng tôi đang làm việc ở đây. Trong phần sau, chúng ta sẽ xem xét một số tùy chọn được cung cấp bởi df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")2 cho phép bạn điều chỉnh cách thức hoạt động của các thao tác nối Thông số kỹ thuật của Khóa hợp nhất¶Chúng ta đã thấy hành vi mặc định của df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")2. nó tìm kiếm một hoặc nhiều tên cột phù hợp giữa hai đầu vào và sử dụng tên này làm khóa. Tuy nhiên, thường thì các tên cột sẽ không khớp nhau lắm và df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")2 cung cấp nhiều tùy chọn để xử lý việc này Từ khóa import pandas as pd
import numpy as np
class display(object):
"""Display HTML representation of multiple objects"""
template = """{0} {1}Đơn giản nhất, bạn có thể chỉ định rõ ràng tên của cột chính bằng cách sử dụng từ khóa import pandas as pd import numpy as np class display(object): """Display HTML representation of multiple objects""" template = """26, lấy tên cột hoặc danh sách tên cột Trong [6] df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")3 Ra[6] df1 nhóm nhân viên0Kế toán Bob1JakeKỹ thuật2LisaKỹ thuật3SueHR df2 employeehire_date0Lisa20041Bob20082Jake20123Sue2014 pd. hợp nhất (df1, df2, on='nhân viên') employeegrouphire_date0BobAccounting20081JakeEngineering20122LisaEngineering20043SueHR2014 Tùy chọn này chỉ hoạt động nếu cả df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")30 bên trái và bên phải đều có tên cột được chỉ định Từ khóa import pandas as pd
import numpy as np
class display(object):
"""Display HTML representation of multiple objects"""
template = """{0} {1}{0} {1}Đôi khi, bạn có thể muốn hợp nhất hai bộ dữ liệu với các tên cột khác nhau; . Trong trường hợp này, chúng ta có thể sử dụng từ khóa import pandas as pd import numpy as np class display(object): """Display HTML representation of multiple objects""" template = """29 và import pandas as pd import numpy as np class display(object): """Display HTML representation of multiple objects""" template = """70 để chỉ định tên hai cột Trong [7] import pandas as pd import numpy as np class display(object): """Display HTML representation of multiple objects""" template = """2 Ra[7] df1 nhóm nhân viên0Kế toán Bob1JakeKỹ thuật2LisaKỹ thuật3SueHR df3 tênlương0Bob700001Jake800002Lisa1200003Sue90000 pd. hợp nhất(df1, df3, left_on="nhân viên", right_on="tên") nhân viênnhómtênlương0BobKế toánBob700001JakeKỹ thuậtJake800002LisaKỹ thuậtLisa1200003SueHRSue90000 Kết quả có một cột dư thừa mà chúng ta có thể loại bỏ nếu muốn–ví dụ: bằng cách sử dụng phương pháp import pandas as pd import numpy as np class display(object): """Display HTML representation of multiple objects""" template = """73 của df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")30s Trong [8] import pandas as pd import numpy as np class display(object): """Display HTML representation of multiple objects""" template = """7 Ra[8] nhân viênnhóm lương0BobKế toán700001JakeEngineering800002LisaEngineering1200003SueHR90000 Từ khóa df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)") 38 và df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)") 39¶Đôi khi, thay vì hợp nhất trên một cột, bạn muốn hợp nhất trên một chỉ mục. Ví dụ: dữ liệu của bạn có thể trông như thế này Trong [9] df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")6 Ra[9] df1a nhómnhân viênBobKế toánJakeEngineeringLisaEngineeringSueHR df2a thuê_dateemployeeLisa2004Bob2008Jake2012Sue2014 Bạn có thể sử dụng chỉ mục làm khóa để hợp nhất bằng cách chỉ định cờ df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")38 và/hoặc df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")39 trong df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")2 Trong [10] df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")0 Ra[10] df1a nhómnhân viênBobKế toánJakeEngineeringLisaEngineeringSueHR df2a thuê_dateemployeeLisa2004Bob2008Jake2012Sue2014 pd. hợp nhất (df1a, df2a, left_index=True, right_index=True) grouphire_dateemployeeLisaEngineering2004BobAccounting2008JakeEngineering2012SueHR2014 Để thuận tiện, df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")30 triển khai phương thức df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")4, thực hiện hợp nhất mặc định để tham gia trên các chỉ số Trong [11] df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")20 Ra[11] df1a nhómnhân viênBobKế toánJakeEngineeringLisaEngineeringSueHR df2a thuê_dateemployeeLisa2004Bob2008Jake2012Sue2014 df1a. tham gia (df2a) grouphire_dateemployeeBobAccounting2008JakeEngineering2012LisaEngineering2004SueHR2014 Nếu bạn muốn kết hợp các chỉ số và cột, bạn có thể kết hợp df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")38 với import pandas as pd import numpy as np class display(object): """Display HTML representation of multiple objects""" template = """70 hoặc import pandas as pd import numpy as np class display(object): """Display HTML representation of multiple objects""" template = """29 với df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")39 để có được hành vi mong muốn Trong [12] df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")21 Ra[12] df1a nhómnhân viênBobKế toánJakeEngineeringLisaEngineeringSueHR df3 tênlương0Bob700001Jake800002Lisa1200003Sue90000 pd. hợp nhất (df1a, df3, left_index=True, right_on='name') tên nhómlương0Kế toánBob700001Kỹ thuậtJake800002Kỹ thuậtLisa1200003HRSue90000 Tất cả các tùy chọn này cũng hoạt động với nhiều chỉ mục và/hoặc nhiều cột; . Để biết thêm thông tin về điều này, hãy xem phần "Hợp nhất, Tham gia và Ghép nối" trong tài liệu Pandas Chỉ định Set Arithmetic cho Joins¶Trong tất cả các ví dụ trước, chúng tôi đã đề cập đến một vấn đề quan trọng cần cân nhắc khi thực hiện phép nối. loại tập hợp số học được sử dụng trong phép nối. Điều này xuất hiện khi một giá trị xuất hiện trong một cột chính nhưng không xuất hiện trong cột khác. Hãy xem xét ví dụ này Trong [13] df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")22 Ra[13] df6 tênmón ăn0Cá Peter 1Đậu Paul 2Bánh mì Mary df7 uống tên0Marywine1Josephbeer pd. hợp nhất (df6, df7) tênthực phẩmđồ uống0Marybreadwine Ở đây, chúng tôi đã hợp nhất hai bộ dữ liệu chỉ có một mục nhập "tên" chung. ma-ri-a. Theo mặc định, kết quả chứa giao điểm của hai bộ đầu vào; . Chúng tôi có thể chỉ định điều này một cách rõ ràng bằng cách sử dụng từ khóa df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")66, mặc định là df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")67 Trong [14] df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")23 Ra[14] tênthực phẩmđồ uống0Marybreadwine Các tùy chọn khác cho từ khóa df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")66 là df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")69, df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")00 và df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")01. Phép nối ngoài trả về phép nối qua phép nối của các cột đầu vào và điền vào tất cả các giá trị còn thiếu bằng NA Trong [15] df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")24 Ra[15] df6 tênmón ăn0Cá Peter 1Đậu Paul 2Bánh mì Mary df7 uống tên0Marywine1Josephbeer pd. hợp nhất (df6, df7, how='bên ngoài') tênmón ănuống0PeterfishNaN1PaulbeansNaN2Rượu bánh mì Mary3JosephNaNbeer Phép nối trái và phép nối phải return lần lượt nối qua các mục bên trái và mục bên phải. Ví dụ Trong [16] df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")25 Ra[16] df6 tênmón ăn0Cá Peter 1Đậu Paul 2Bánh mì Mary df7 uống tên0Marywine1Josephbeer pd. hợp nhất (df6, df7, how='left') tênmón ănđồ uống0PeterfishNaN1PaulbeansNaN2Mary bánh mì rượu vang Các hàng đầu ra bây giờ tương ứng với các mục trong đầu vào bên trái. Sử dụng df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")02 hoạt động theo cách tương tự Tất cả các tùy chọn này có thể được áp dụng trực tiếp cho bất kỳ loại liên kết nào trước đó Chồng chéo tên cột. Từ khóa df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)") 03¶Cuối cùng, bạn có thể rơi vào trường hợp hai df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")30 đầu vào của bạn có tên cột xung đột. Hãy xem xét ví dụ này Trong [17] df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")26 Ra[17] df8 tênrank0Bob11Jake22Lisa33Sue4 df9 tênrank0Bob31Jake12Lisa43Sue2 pd. hợp nhất (df8, df9, on="name") namerank_xrank_y0Bob131Jake212Lisa343Sue42 Vì đầu ra sẽ có hai tên cột xung đột, nên hàm hợp nhất sẽ tự động nối thêm hậu tố df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")05 hoặc df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")06 để làm cho các cột đầu ra là duy nhất. Nếu các giá trị mặc định này không phù hợp, có thể chỉ định hậu tố tùy chỉnh bằng cách sử dụng từ khóa df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")03 Trong [18] df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")27 Hết[18] df8 tênrank0Bob11Jake22Lisa33Sue4 df9 tênrank0Bob31Jake12Lisa43Sue2 pd. hợp nhất (df8, df9, on="name", suffixes=["_L", "_R"]) namerank_Lrank_R0Bob131Jake212Lisa343Sue42 Các hậu tố này hoạt động trong bất kỳ mẫu liên kết nào có thể có và cũng hoạt động nếu có nhiều cột chồng chéo Để biết thêm thông tin về các mẫu này, hãy xem Tập hợp và Nhóm nơi chúng tôi tìm hiểu sâu hơn một chút về đại số quan hệ. Ngoài ra, hãy xem tài liệu "Hợp nhất, Tham gia và Ghép nối" của Pandas để thảo luận thêm về các chủ đề này Thí dụ. Dữ liệu Hoa Kỳ¶Các hoạt động hợp nhất và tham gia xuất hiện thường xuyên nhất khi kết hợp dữ liệu từ các nguồn khác nhau. Ở đây chúng tôi sẽ xem xét một ví dụ về một số dữ liệu về các tiểu bang Hoa Kỳ và dân số của họ. Các tệp dữ liệu có thể được tìm thấy tại http. //github. com/jakevdp/data-USstates/ Trong 19] df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")28 Chúng ta hãy xem xét ba bộ dữ liệu, sử dụng chức năng Pandas df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")08 Trong 20] df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")29 Hết[20] nhạc pop. cái đầu() bang/khu vựcnămdân số0ALunder1820121117489. 01ALtotal20124817528. 02ALunder1820101130966. 03ALtotal20104785570. 04ALunder1820111125763. 0 khu vực. cái đầu() diện tích (sq. mi)0Alabama524231Alaska6564252Arizona1140063Arkansas531824California163707 viết tắt. cái đầu() tiểu bang viết tắt0AlabamaAL1AlaskaAK2ArizonaAZ3ArkansasAR4CaliforniaCA Với thông tin này, giả sử chúng tôi muốn tính toán một kết quả tương đối đơn giản. xếp hạng các bang và vùng lãnh thổ của Hoa Kỳ theo mật độ dân số năm 2010. Rõ ràng chúng tôi có dữ liệu ở đây để tìm kết quả này, nhưng chúng tôi sẽ phải kết hợp các bộ dữ liệu để tìm ra kết quả Chúng tôi sẽ bắt đầu với sự hợp nhất nhiều thành một sẽ cung cấp cho chúng tôi tên đầy đủ của tiểu bang trong quần thể df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")30. Chúng tôi muốn hợp nhất dựa trên cột df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")200 của df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")201 và cột df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")202 của df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")203. Chúng tôi sẽ sử dụng df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")204 để đảm bảo không có dữ liệu nào bị loại bỏ do nhãn không khớp Trong [21] df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")50 Hết[21] tiểu bang/khu vực nămdân sốtiểu bang0ALunder1820121117489. 0Alabama1ALtotal20124817528. 0Alabama2ALunder1820101130966. 0Alabama3ALtotal20104785570. 0Alabama4ALunder1820111125763. 0Alabama Hãy kiểm tra kỹ xem có bất kỳ sự không phù hợp nào ở đây hay không, điều mà chúng ta có thể thực hiện bằng cách tìm kiếm các hàng có giá trị rỗng Trong [22] df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")51 Hết[22] df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")52 Một số thông tin df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")205 không có giá trị; Trong [23] df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")53 Hết[23] bang/khu vực nămdân sốbang2448PRunder181990NaNNaN2449PRtotal1990NaNNaN2450PRtotal1991NaNNaN2451PRunder181991NaNNaN2452PRtotal1993NaNNaN Có vẻ như tất cả các giá trị dân số rỗng là từ Puerto Rico trước năm 2000; Quan trọng hơn, chúng tôi cũng thấy rằng một số mục nhập mới của df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")206 cũng không có giá trị, điều đó có nghĩa là không có mục nhập tương ứng trong khóa df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")203. Hãy tìm xem khu vực nào thiếu trận đấu này Trong [24] df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")54 Ra[24] df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")55 Chúng ta có thể nhanh chóng suy ra vấn đề. dữ liệu dân số của chúng tôi bao gồm các mục nhập cho Puerto Rico (PR) và toàn bộ Hoa Kỳ (USA), trong khi các mục nhập này không xuất hiện trong khóa viết tắt của tiểu bang. Chúng tôi có thể khắc phục những điều này một cách nhanh chóng bằng cách điền vào các mục thích hợp Trong [25] df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")56 Hết[25] df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")57 Không còn null trong cột df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")206. chúng ta đã sẵn sàng Bây giờ chúng ta có thể hợp nhất kết quả với dữ liệu vùng bằng quy trình tương tự. Kiểm tra kết quả của chúng tôi, chúng tôi sẽ muốn tham gia vào cột df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")206 trong cả hai Trong [26] df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")58 Hết[26] tiểu bang/khu vực nămdân số tiểu bangkhu vực (sq. mi)0ALunder1820121117489. 0Alabama52423. 01ALtotal20124817528. 0Alabama52423. 02ALunder1820101130966. 0Alabama52423. 03ALtotal20104785570. 0Alabama52423. 04ALunder1820111125763. 0Alabama52423. 0 Một lần nữa, hãy kiểm tra null để xem liệu có bất kỳ sự không phù hợp nào không Trong [27] df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")59 Hết[27] df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")50 Không có giá trị rỗng trong cột df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")210; Trong [28] df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")51 Hết[28] df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")52 Chúng tôi thấy rằng df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")211 df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")30 của chúng tôi không chứa toàn bộ diện tích của Hoa Kỳ. Chúng tôi có thể chèn giá trị thích hợp (ví dụ: sử dụng tổng của tất cả các khu vực tiểu bang), nhưng trong trường hợp này, chúng tôi sẽ chỉ bỏ các giá trị null vì mật độ dân số của toàn bộ Hoa Kỳ không liên quan đến cuộc thảo luận hiện tại của chúng tôi Trong [29] df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")53 Hết[29] tiểu bang/khu vực nămdân số tiểu bangkhu vực (sq. mi)0ALunder1820121117489. 0Alabama52423. 01ALtotal20124817528. 0Alabama52423. 02ALunder1820101130966. 0Alabama52423. 03ALtotal20104785570. 0Alabama52423. 04ALunder1820111125763. 0Alabama52423. 0 Bây giờ chúng tôi có tất cả dữ liệu chúng tôi cần. Để trả lời câu hỏi quan tâm, trước tiên hãy chọn phần dữ liệu tương ứng với năm 2000 và tổng dân số. Chúng ta sẽ sử dụng hàm df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")213 để thực hiện việc này một cách nhanh chóng (điều này yêu cầu phải cài đặt gói df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")214; xem phần High-Performance Pandas. df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")215 và df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")213) Trong [30] df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")54 Ra[30] tiểu bang/khu vực nămdân số tiểu bangkhu vực (sq. mi)3ALtotal20104785570. 0Alabama52423. 091AKtotal2010713868. 0Alaska656425. 0101AZtotal20106408790. 0Arizona114006. 0189ARtotal20102922280. 0Arkansas53182. 0197CAtotal201037333601. 0California163707. 0 Bây giờ hãy tính mật độ dân số và hiển thị nó theo thứ tự. Chúng tôi sẽ bắt đầu bằng cách lập chỉ mục lại dữ liệu của chúng tôi về trạng thái và sau đó tính toán kết quả Trong [31] df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")55 Trong [32] df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")56 Ra[32] df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")57 Kết quả là xếp hạng các tiểu bang của Hoa Kỳ cùng với Washington, DC và Puerto Rico theo thứ tự mật độ dân số năm 2010, tính theo cư dân trên mỗi dặm vuông. Chúng ta có thể thấy rằng cho đến nay khu vực dày đặc nhất trong tập dữ liệu này là Washington, DC (i. e. , Quận Columbia); Chúng tôi cũng có thể kiểm tra phần cuối của danh sách Trong [33] df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")58 Ra[33] df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']}) display('df1', 'df5', "pd.merge(df1, df5)")59 Chúng tôi thấy rằng cho đến nay, bang có mật độ dân số thấp nhất là Alaska, trung bình hơn một cư dân trên một dặm vuông Kiểu hợp nhất dữ liệu lộn xộn này là một nhiệm vụ phổ biến khi cố gắng trả lời các câu hỏi bằng các nguồn dữ liệu trong thế giới thực. Tôi hy vọng rằng ví dụ này đã cung cấp cho bạn ý tưởng về cách bạn có thể kết hợp các công cụ mà chúng tôi đã đề cập để hiểu rõ hơn về dữ liệu của bạn Chúng ta có thể tham gia 3 bảng trong mysql không?Có thể sử dụng nhiều câu lệnh nối cùng nhau để nối nhiều bảng cùng lúc . Để làm điều đó, bạn thêm câu lệnh INNER JOIN thứ hai và câu lệnh ON thứ hai để chỉ ra bảng thứ ba và mối quan hệ thứ hai.
Bạn có thể tham gia bên trong 3 bảng không?Cách phổ biến nhất để nối ba bảng giống như thế này. CHỌN * TỪ Bảng1 INNER THAM GIA Bảng2 BẬT Điều kiện INNER THAM GIA Bảng3 BẬT Điều kiện ; . Bạn cũng có thể kết hợp các loại tham gia nếu cần (ví dụ bên dưới).
Làm cách nào để tham gia 3 bảng bên trong tham gia SQL?Cú pháp cho nhiều phép nối. CHỌN cột_tên1,tên_cột2,. TỪ_tên_bảng1 INNER THAM GIA tên_bảng2 BẬT điều kiện_1 INNER THAM GIA tên_bảng3 BẬT điều kiện_2 INNER THAM GIA tên_bảng4 BẬT điều kiện_3 . . . Ghi chú. Trong khi chỉ chọn các cột cụ thể, hãy sử dụng table_name.
Sự khác biệt giữa tham gia () và hợp nhất () trong gấu trúc là gì?Sự khác biệt chính giữa tham gia và hợp nhất sẽ là; . join() is used to combine two DataFrames on the index but not on columns whereas merge() is primarily used to specify the columns you wanted to join on, this also supports joining on indexes and combination of index and columns. |