Ví dụ truy vấn khung dữ liệu Python
Hướng dẫn sẽ giải thích cú pháp và cũng chỉ cho bạn các ví dụ từng bước về cách sử dụng phương pháp truy vấn Pandas Show
Nếu bạn cần một cái gì đó cụ thể (như trợ giúp về cú pháp, ví dụ, v.v.), bạn có thể nhấp vào một trong các liên kết sau và nó sẽ đưa bạn đến phần thích hợp nội dung Nhưng nếu bạn chưa quen với Pandas hoặc chưa quen với thao tác dữ liệu trong Python, tôi khuyên bạn nên đọc toàn bộ hướng dẫn. Mọi thứ sẽ có ý nghĩa hơn theo cách đó Vâng …. Chúng ta hãy đi đến đó Đánh giá nhanh về PandasRất nhanh, hãy xem lại Pandas là gì Pandas là một gói cho ngôn ngữ lập trình Python Cụ thể, Pandas là bộ công cụ để thực hiện thao tác dữ liệu trong Python. Nó là một bộ công cụ quan trọng để thực hiện khoa học dữ liệu trong Python Pandas hoạt động với DataFramesĐể cụ thể hơn một chút, Pandas là bộ công cụ để tạo và làm việc với cấu trúc dữ liệu được gọi là DataFrame DataFrame là một cấu trúc mà chúng tôi sử dụng để lưu trữ dữ liệu DataFrames có cấu trúc hàng và cột, như thế này Nếu bạn đã làm việc với Microsoft Excel, bạn sẽ quen thuộc với cấu trúc này. Khung dữ liệu Pandas rất giống với bảng tính Excel, trong đó Khung dữ liệu có hàng, cột và ô Có một số cách để tạo DataFrame, bao gồm nhập dữ liệu từ tệp bên ngoài (chẳng hạn như tệp CSV); . Hàm DataFrame() Để biết thêm thông tin về DataFrames, hãy xem hướng dẫn của chúng tôi về Pandas DataFrames Các phương thức Pandas thực hiện các thao tác trên DataFramesKhi bạn có dữ liệu của mình bên trong khung dữ liệu, thông thường bạn sẽ cần thực hiện thao tác dữ liệu Nếu dữ liệu của bạn hơi “bẩn”, bạn có thể cần sử dụng một số công cụ để dọn dẹp dữ liệu. sửa đổi các giá trị bị thiếu, thay đổi tên chuỗi, đổi tên biến, thêm biến, v.v. Ngoài ra, khi dữ liệu của bạn ở trong cấu trúc DataFrame và dữ liệu “sạch”, bạn vẫn cần sử dụng một số kỹ thuật “thao tác dữ liệu” để phân tích dữ liệu của mình. Ở đây, tôi đang nói về những thứ như tập hợp con, nhóm và tổng hợp Pandas có các công cụ để thực hiện tất cả các tác vụ này. Nó là một bộ công cụ toàn diện để làm việc với dữ liệu và thực hiện thao tác dữ liệu trên DataFrames Giới thiệu nhanh về truy vấn PandasTrong số nhiều công cụ để thực hiện thao tác dữ liệu trên DataFrames là phương thức truy vấn Pandas name region sales expenses 0 William East 50000 42000 1 Emma North 52000 43000 2 Sofia East 90000 50000 3 Markus South 34000 44000 4 Edward West 42000 38000 5 Thomas West 72000 39000 6 Ethan South 49000 42000 7 Olivia West 55000 60000 8 Arun West 67000 39000 9 Anika East 65000 44000 10 Paulo South 67000 450008 là gì và nó làm gì? Truy vấn là một công cụ để truy vấn các khung dữ liệu và truy xuất các tập hợp conỞ cấp độ rất cao, phương thức truy vấn Pandas là một công cụ để tạo các tập hợp con từ Khung dữ liệu Pandas Dù tốt hay xấu, thực tế có một số cách để tạo tập hợp con với Pandas Các phương thức loc và iloc cho phép bạn truy xuất các tập hợp con dựa trên nhãn hàng và cột hoặc theo chỉ số nguyên của hàng và cột Và Pandas có ký hiệu ngoặc cho phép bạn sử dụng các điều kiện logic để truy xuất các hàng dữ liệu cụ thể Nhưng cả hai công cụ đó có thể hơi rườm rà về mặt cú pháp. Hơn nữa, chúng khó sử dụng cùng với các phương pháp thao tác dữ liệu khác một cách trơn tru, hữu cơ Theo nhiều cách, phương pháp Pandas name region sales expenses 0 William East 50000 42000 1 Emma North 52000 43000 2 Sofia East 90000 50000 3 Markus South 34000 44000 4 Edward West 42000 38000 5 Thomas West 72000 39000 6 Ethan South 49000 42000 7 Olivia West 55000 60000 8 Arun West 67000 39000 9 Anika East 65000 44000 10 Paulo South 67000 450009 giải quyết những vấn đề đó Truy vấn cho phép bạn "truy vấn" một DataFrame và truy xuất các tập hợp con dựa trên các điều kiện logic Hơn nữa, cú pháp được sắp xếp hợp lý hơn một chút so với ký hiệu dấu ngoặc Pandas Ngoài ra, phương thức truy vấn Pandas có thể được sử dụng với các phương thức Pandas khác theo cách hợp lý giúp thao tác dữ liệu trơn tru và đơn giản. Tôi sẽ chỉ cho bạn một ví dụ nhỏ về điều đó sau trong phần hướng dẫn Nhưng trước khi đến đó, trước tiên chúng ta hãy xem cú pháp của truy vấn Pandas Cú pháp của phương thức truy vấn PandasCú pháp của truy vấn Pandas chủ yếu là đơn giản Tuy nhiên, để sử dụng phương pháp này, bạn sẽ cần phải có Pandas DataFrame Điều đó có nghĩa là bạn sẽ cần nhập Pandas và sử dụng Pandas để tạo DataFrame Để biết thêm thông tin về cách tạo DataFrames, bạn có thể đọc hướng dẫn giới thiệu của chúng tôi về Pandas DataFrames Cú pháp truy vấn gấu trúcVâng Giả sử bạn có một DataFrame, bạn cần gọi name region sales expenses 0 William East 50000 42000 1 Emma North 52000 43000 2 Sofia East 90000 50000 3 Markus South 34000 44000 4 Edward West 42000 38000 5 Thomas West 72000 39000 6 Ethan South 49000 42000 7 Olivia West 55000 60000 8 Arun West 67000 39000 9 Anika East 65000 44000 10 Paulo South 67000 450008 bằng “cú pháp dấu chấm” Về cơ bản, hãy nhập tên của DataFrame mà bạn muốn tập hợp con, sau đó nhập “dấu chấm”, sau đó nhập tên của phương thức…. sales_data.query('sales > 60000')1 Như thế này Trong phần giải thích cú pháp ở trên, tôi giả sử rằng bạn có một DataFrame tên là sales_data.query('sales > 60000')2 Sau đó, bên trong phương thức truy vấn, có một vài tham số và đối số cho hàm Hãy đi qua những Các tham số của truy vấn pandasBên trong hàm, thực sự chỉ có hai đối số hoặc tham số mà bạn cần biết về
Hãy nói về từng người trong số họ sales_data.query('sales > 60000')3 (bắt buộc) Ở đây, sales_data.query('sales > 60000')3 là một số loại biểu thức logic mô tả những hàng nào sẽ trả về trong kết quả đầu ra Nếu biểu thức đúng với một hàng cụ thể, hàng đó sẽ được đưa vào đầu ra. Nếu biểu thức sai đối với một hàng cụ thể, hàng đó sẽ bị loại khỏi đầu ra. Tôi sẽ chỉ cho bạn một số ví dụ về các biểu thức này Một lưu ý. bản thân biểu thức phải được trình bày dưới dạng chuỗi Python. Điều đó có nghĩa là biểu thức phải được đặt bên trong dấu ngoặc kép … hoặc trích dẫn kép hoặc trích dẫn đơn Hãy nhớ rằng bạn cũng có thể cần sử dụng các chuỗi bên trong chính biểu thức đó. Ví dụ: nếu bạn cần tham chiếu một danh mục có tên là “Chó” bên trong biểu thức logic của mình và bạn đặt danh mục đó bên trong dấu ngoặc kép, thì bạn sẽ cần đặt biểu thức tổng thể bên trong dấu ngoặc đơn. Nếu bạn chưa quen với điều này, vui lòng xem lại cách chuỗi hoạt động trong Python và xem lại cách tham chiếu chuỗi trong chuỗi sales_data.query('sales > 60000')4 Tham số sales_data.query('sales > 60000')4 cho phép bạn chỉ định xem bạn có muốn sửa đổi trực tiếp DataFrame mà bạn đang làm việc hay không Hãy nhớ từ phần cú pháp, khi chúng ta sử dụng phương thức name region sales expenses 0 William East 50000 42000 1 Emma North 52000 43000 2 Sofia East 90000 50000 3 Markus South 34000 44000 4 Edward West 42000 38000 5 Thomas West 72000 39000 6 Ethan South 49000 42000 7 Olivia West 55000 60000 8 Arun West 67000 39000 9 Anika East 65000 44000 10 Paulo South 67000 450008, chúng ta cần nhập tên của DataFrame mà chúng ta muốn đặt con. DataFrame đó sẽ đóng vai trò là đầu vào của phương thức truy vấn Tuy nhiên, theo mặc định, phương thức truy vấn sẽ tạo ra một DataFrame mới làm đầu ra và sẽ giữ nguyên DataFrame ban đầu Đó là bởi vì theo mặc định, tham số sales_data.query('sales > 60000')4 được đặt thành name region sales expenses 0 William East 50000 42000 1 Emma North 52000 43000 2 Sofia East 90000 50000 3 Markus South 34000 44000 4 Edward West 42000 38000 5 Thomas West 72000 39000 6 Ethan South 49000 42000 7 Olivia West 55000 60000 8 Arun West 67000 39000 9 Anika East 65000 44000 10 Paulo South 67000 4500031. Điều đó có nghĩa là truy vấn đó sẽ không sửa đổi DataFrame gốc “tại chỗ”. Thay vào đó, nó tạo ra một DataFrame mới. Đó thực sự là ý nghĩa của tham số sales_data.query('sales > 60000')4 Nhưng chúng ta có thể thay đổi hành vi đó bằng cách đặt name region sales expenses 0 William East 50000 42000 1 Emma North 52000 43000 2 Sofia East 90000 50000 3 Markus South 34000 44000 4 Edward West 42000 38000 5 Thomas West 72000 39000 6 Ethan South 49000 42000 7 Olivia West 55000 60000 8 Arun West 67000 39000 9 Anika East 65000 44000 10 Paulo South 67000 4500033 Nếu chúng tôi ghi đè mặc định và đặt name region sales expenses 0 William East 50000 42000 1 Emma North 52000 43000 2 Sofia East 90000 50000 3 Markus South 34000 44000 4 Edward West 42000 38000 5 Thomas West 72000 39000 6 Ethan South 49000 42000 7 Olivia West 55000 60000 8 Arun West 67000 39000 9 Anika East 65000 44000 10 Paulo South 67000 4500033, truy vấn sẽ sửa đổi DataFrame ban đầu “tại chỗ” Nhưng hãy cẩn thận… nếu bạn làm điều này, bạn sẽ ghi đè lên Khung dữ liệu ban đầu của mình. Đảm bảo rằng mã của bạn đang hoạt động theo cách bạn muốn ví dụ. cách sử dụng. query() để tập hợp con một khung dữ liệu PandasOk, bây giờ bạn đã học cách hoạt động của cú pháp, hãy xem một số ví dụ ví dụ Chạy mã này trướcTrước khi chúng tôi thực sự làm việc với các ví dụ, chúng tôi cần chạy một số mã sơ bộ Chúng tôi sẽ nhập Pandas và tạo một khung dữ liệu nhập gấu trúcĐầu tiên, hãy nhập Pandas Điều này khá đơn giản, nhưng nếu bạn là người mới bắt đầu, bạn có thể không quen với nó Để gọi bất kỳ chức năng nào từ Pandas (hoặc bất kỳ gói nào khác), trước tiên chúng ta cần nhập gói. Chúng tôi nhập một gói có câu lệnh name region sales expenses 0 William East 50000 42000 1 Emma North 52000 43000 2 Sofia East 90000 50000 3 Markus South 34000 44000 4 Edward West 42000 38000 5 Thomas West 72000 39000 6 Ethan South 49000 42000 7 Olivia West 55000 60000 8 Arun West 67000 39000 9 Anika East 65000 44000 10 Paulo South 67000 4500035 Hơn nữa, chúng ta có thể nhập một gói có tên gốc (i. e. , name region sales expenses 0 William East 50000 42000 1 Emma North 52000 43000 2 Sofia East 90000 50000 3 Markus South 34000 44000 4 Edward West 42000 38000 5 Thomas West 72000 39000 6 Ethan South 49000 42000 7 Olivia West 55000 60000 8 Arun West 67000 39000 9 Anika East 65000 44000 10 Paulo South 67000 4500036). Nhưng chúng tôi cũng có tùy chọn nhập gói có “biệt hiệu. ” Đó là một cách làm rất phổ biến, và đó là những gì chúng ta sẽ làm ở đây Chúng tôi sẽ nhập Pandas với biệt danh " name region sales expenses 0 William East 50000 42000 1 Emma North 52000 43000 2 Sofia East 90000 50000 3 Markus South 34000 44000 4 Edward West 42000 38000 5 Thomas West 72000 39000 6 Ethan South 49000 42000 7 Olivia West 55000 60000 8 Arun West 67000 39000 9 Anika East 65000 44000 10 Paulo South 67000 4500037" name region sales expenses 0 William East 50000 42000 1 Emma North 52000 43000 2 Sofia East 90000 50000 3 Markus South 34000 44000 4 Edward West 42000 38000 5 Thomas West 72000 39000 6 Ethan South 49000 42000 7 Olivia West 55000 60000 8 Arun West 67000 39000 9 Anika East 65000 44000 10 Paulo South 67000 450000Tạo khung dữ liệu Chúng tôi cũng cần một khung dữ liệu để làm việc với Ở đây, chúng tôi sẽ sử dụng cách tạo DataFrame với một số dữ liệu bán hàng giả Để làm điều này, chúng tôi chỉ sử dụng pd. Chức năng DataFrame từ Pandas name region sales expenses 0 William East 50000 42000 1 Emma North 52000 43000 2 Sofia East 90000 50000 3 Markus South 34000 44000 4 Edward West 42000 38000 5 Thomas West 72000 39000 6 Ethan South 49000 42000 7 Olivia West 55000 60000 8 Arun West 67000 39000 9 Anika East 65000 44000 10 Paulo South 67000 450001 Và nếu chúng ta in nó ra, chúng ta có thể thấy tập dữ liệu name region sales expenses 0 William East 50000 42000 1 Emma North 52000 43000 2 Sofia East 90000 50000 3 Markus South 34000 44000 4 Edward West 42000 38000 5 Thomas West 72000 39000 6 Ethan South 49000 42000 7 Olivia West 55000 60000 8 Arun West 67000 39000 9 Anika East 65000 44000 10 Paulo South 67000 45000 Lưu ý rằng DataFrame có bốn biến. name region sales expenses 0 William East 50000 42000 1 Emma North 52000 43000 2 Sofia East 90000 50000 3 Markus South 34000 44000 4 Edward West 42000 38000 5 Thomas West 72000 39000 6 Ethan South 49000 42000 7 Olivia West 55000 60000 8 Arun West 67000 39000 9 Anika East 65000 44000 10 Paulo South 67000 4500038, name region sales expenses 0 William East 50000 42000 1 Emma North 52000 43000 2 Sofia East 90000 50000 3 Markus South 34000 44000 4 Edward West 42000 38000 5 Thomas West 72000 39000 6 Ethan South 49000 42000 7 Olivia West 55000 60000 8 Arun West 67000 39000 9 Anika East 65000 44000 10 Paulo South 67000 4500039, name region sales expenses 0 William East 50000 42000 1 Emma North 52000 43000 2 Sofia East 90000 50000 3 Markus South 34000 44000 4 Edward West 42000 38000 5 Thomas West 72000 39000 6 Ethan South 49000 42000 7 Olivia West 55000 60000 8 Arun West 67000 39000 9 Anika East 65000 44000 10 Paulo South 67000 4500050 và name region sales expenses 0 William East 50000 42000 1 Emma North 52000 43000 2 Sofia East 90000 50000 3 Markus South 34000 44000 4 Edward West 42000 38000 5 Thomas West 72000 39000 6 Ethan South 49000 42000 7 Olivia West 55000 60000 8 Arun West 67000 39000 9 Anika East 65000 44000 10 Paulo South 67000 4500051 Chúng tôi sẽ sử dụng các biến này (và chỉ mục hàng) để tập hợp dữ liệu của chúng tôi với name region sales expenses 0 William East 50000 42000 1 Emma North 52000 43000 2 Sofia East 90000 50000 3 Markus South 34000 44000 4 Edward West 42000 38000 5 Thomas West 72000 39000 6 Ethan South 49000 42000 7 Olivia West 55000 60000 8 Arun West 67000 39000 9 Anika East 65000 44000 10 Paulo South 67000 450008 VÍ DỤ 1. Tập hợp con một khung dữ liệu gấu trúc dựa trên một biến sốHãy bắt đầu với một ví dụ rất đơn giản Ở đây, chúng tôi sẽ tập hợp con dữ liệu trên một biến số. name region sales expenses 0 William East 50000 42000 1 Emma North 52000 43000 2 Sofia East 90000 50000 3 Markus South 34000 44000 4 Edward West 42000 38000 5 Thomas West 72000 39000 6 Ethan South 49000 42000 7 Olivia West 55000 60000 8 Arun West 67000 39000 9 Anika East 65000 44000 10 Paulo South 67000 4500050 Chúng tôi sẽ truy xuất các hàng trong DataFrame trong đó name region sales expenses 0 William East 50000 42000 1 Emma North 52000 43000 2 Sofia East 90000 50000 3 Markus South 34000 44000 4 Edward West 42000 38000 5 Thomas West 72000 39000 6 Ethan South 49000 42000 7 Olivia West 55000 60000 8 Arun West 67000 39000 9 Anika East 65000 44000 10 Paulo South 67000 4500050 lớn hơn 60000 Để làm điều này, chúng tôi chỉ cần cung cấp một biểu thức logic bên trong dấu ngoặc đơn. name region sales expenses 0 William East 50000 42000 1 Emma North 52000 43000 2 Sofia East 90000 50000 3 Markus South 34000 44000 4 Edward West 42000 38000 5 Thomas West 72000 39000 6 Ethan South 49000 42000 7 Olivia West 55000 60000 8 Arun West 67000 39000 9 Anika East 65000 44000 10 Paulo South 67000 4500055 Hãy chạy mã để bạn có thể xem đầu ra sales_data.query('sales > 60000') NGOÀI name region sales expenses 0 William East 50000 42000 1 Emma North 52000 43000 2 Sofia East 90000 50000 3 Markus South 34000 44000 4 Edward West 42000 38000 5 Thomas West 72000 39000 6 Ethan South 49000 42000 7 Olivia West 55000 60000 8 Arun West 67000 39000 9 Anika East 65000 44000 10 Paulo South 67000 450003 Lưu ý rằng khi chúng tôi chạy mã, nó sẽ trả về 5 hàng. DataFrame ban đầu có 11 hàng, nhưng đầu ra có 5 Ngoài ra, tất cả các hàng dữ liệu trong đầu ra đều đáp ứng các tiêu chí được xác định trong biểu thức logic name region sales expenses 0 William East 50000 42000 1 Emma North 52000 43000 2 Sofia East 90000 50000 3 Markus South 34000 44000 4 Edward West 42000 38000 5 Thomas West 72000 39000 6 Ethan South 49000 42000 7 Olivia West 55000 60000 8 Arun West 67000 39000 9 Anika East 65000 44000 10 Paulo South 67000 4500055. Tất cả các hồ sơ có doanh số lớn hơn 60000 Điều này thực sự đơn giản. Phương thức truy vấn đã sử dụng biểu thức name region sales expenses 0 William East 50000 42000 1 Emma North 52000 43000 2 Sofia East 90000 50000 3 Markus South 34000 44000 4 Edward West 42000 38000 5 Thomas West 72000 39000 6 Ethan South 49000 42000 7 Olivia West 55000 60000 8 Arun West 67000 39000 9 Anika East 65000 44000 10 Paulo South 67000 4500055 như một loại tiêu chí lọc. Nếu tiêu chí đúng cho một hàng cụ thể, thì hàng đó được đưa vào đầu ra. Nếu tiêu chí là sai cho một hàng cụ thể, nó sẽ bị loại trừ Bây giờ hãy lưu ý rằng trong ví dụ đơn giản này, chúng tôi đã sử dụng dấu lớn hơn để lọc biến doanh số bán hàng. Đây là một việc cần làm, nhưng chúng ta cũng có thể kiểm tra tính tương đương ( name region sales expenses 0 William East 50000 42000 1 Emma North 52000 43000 2 Sofia East 90000 50000 3 Markus South 34000 44000 4 Edward West 42000 38000 5 Thomas West 72000 39000 6 Ethan South 49000 42000 7 Olivia West 55000 60000 8 Arun West 67000 39000 9 Anika East 65000 44000 10 Paulo South 67000 4500058), kiểm tra giá trị lớn hơn hoặc bằng, ít hơn, v.v. Hầu như mọi toán tử so sánh sẽ hoạt động Và như bạn sẽ thấy trong các ví dụ sắp tới, chúng ta có thể kết hợp các biểu thức bằng cách sử dụng các toán tử logic để tạo các biểu thức phức tạp hơn VÍ DỤ 2. Chọn các hàng dựa trên một biến phân loạiTiếp theo, chúng tôi sẽ chọn một nhóm các hàng bằng cách lọc trên một biến phân loại Chúng tôi sẽ truy xuất tất cả các hàng trong đó name region sales expenses 0 William East 50000 42000 1 Emma North 52000 43000 2 Sofia East 90000 50000 3 Markus South 34000 44000 4 Edward West 42000 38000 5 Thomas West 72000 39000 6 Ethan South 49000 42000 7 Olivia West 55000 60000 8 Arun West 67000 39000 9 Anika East 65000 44000 10 Paulo South 67000 4500039 bằng với sales_data.query('sales > 60000')70 Để làm điều này, chúng ta sẽ gọi phương thức name region sales expenses 0 William East 50000 42000 1 Emma North 52000 43000 2 Sofia East 90000 50000 3 Markus South 34000 44000 4 Edward West 42000 38000 5 Thomas West 72000 39000 6 Ethan South 49000 42000 7 Olivia West 55000 60000 8 Arun West 67000 39000 9 Anika East 65000 44000 10 Paulo South 67000 450008 bằng cách sử dụng “ký hiệu dấu chấm. ” Chúng tôi chỉ cần nhập tên của Khung dữ liệu của mình, sales_data.query('sales > 60000')72, sau đó nhập tên của phương thức, name region sales expenses 0 William East 50000 42000 1 Emma North 52000 43000 2 Sofia East 90000 50000 3 Markus South 34000 44000 4 Edward West 42000 38000 5 Thomas West 72000 39000 6 Ethan South 49000 42000 7 Olivia West 55000 60000 8 Arun West 67000 39000 9 Anika East 65000 44000 10 Paulo South 67000 450008 Bên trong dấu ngoặc đơn của phương thức truy vấn, chúng ta có một biểu thức logic. sales_data.query('sales > 60000')74 Hãy chạy mã và xem đầu ra Đây là mã name region sales expenses 0 William East 50000 42000 1 Emma North 52000 43000 2 Sofia East 90000 50000 3 Markus South 34000 44000 4 Edward West 42000 38000 5 Thomas West 72000 39000 6 Ethan South 49000 42000 7 Olivia West 55000 60000 8 Arun West 67000 39000 9 Anika East 65000 44000 10 Paulo South 67000 450005 Và đây là đầu ra, là một khung dữ liệu mới sales_data.query('sales > 60000')7 Lưu ý rằng DataFrame đầu ra chứa tất cả các bản ghi cho khu vực Đông Một vài lưu ý về điều này Đầu tiên, biểu thức logic về mặt cú pháp chỉ là biểu thức logic Python. Ở đây, chúng tôi đang sử dụng toán tử tương đương từ Python, dấu bằng kép ( name region sales expenses 0 William East 50000 42000 1 Emma North 52000 43000 2 Sofia East 90000 50000 3 Markus South 34000 44000 4 Edward West 42000 38000 5 Thomas West 72000 39000 6 Ethan South 49000 42000 7 Olivia West 55000 60000 8 Arun West 67000 39000 9 Anika East 65000 44000 10 Paulo South 67000 4500058) Thứ hai, toàn bộ biểu thức logic được chứa bên trong dấu nháy đơn. Đó là, chúng tôi cung cấp biểu thức logic để. truy vấn () ở dạng chuỗi. Truy vấn mong đợi một chuỗi Thứ ba, chúng tôi đang tham khảo sales_data.query('sales > 60000')76, đây là một trong những giá trị duy nhất của biến name region sales expenses 0 William East 50000 42000 1 Emma North 52000 43000 2 Sofia East 90000 50000 3 Markus South 34000 44000 4 Edward West 42000 38000 5 Thomas West 72000 39000 6 Ethan South 49000 42000 7 Olivia West 55000 60000 8 Arun West 67000 39000 9 Anika East 65000 44000 10 Paulo South 67000 4500039. Lưu ý rằng giá trị này thực sự được chứa bên trong dấu ngoặc kép. Điều này là do chúng tôi coi các giá trị chuỗi của DataFrame là các chuỗi và do đó, nó cần phải nằm trong dấu ngoặc kép. Nhưng vì biểu thức tổng thể đã nằm trong dấu ngoặc đơn nên chúng ta cần sử dụng dấu ngoặc kép cho giá trị sales_data.query('sales > 60000')76. Nếu bạn không hiểu điều này, bạn cần xem lại quy tắc sử dụng dấu ngoặc kép bên trong dấu ngoặc kép với Python VÍ DỤ 3. Tập hợp một DataFrame theo chỉ mụcỞ đây, chúng tôi sẽ tham chiếu chỉ mục của DataFrame và tập hợp con các hàng dựa trên chỉ mục đó Trước tiên, hãy in ra DataFrame sales_data.query('sales > 60000')8 NGOÀI name region sales expenses 0 William East 50000 42000 1 Emma North 52000 43000 2 Sofia East 90000 50000 3 Markus South 34000 44000 4 Edward West 42000 38000 5 Thomas West 72000 39000 6 Ethan South 49000 42000 7 Olivia West 55000 60000 8 Arun West 67000 39000 9 Anika East 65000 44000 10 Paulo South 67000 45000 Lưu ý rằng khi chúng tôi in ra DataFrame, mỗi hàng có một số nguyên được liên kết với nó ở phía bên trái, bắt đầu từ 0 Nhóm số này là chỉ số. Theo mặc định, khi chúng tôi tạo DataFrame, mỗi hàng sẽ được cung cấp một giá trị chỉ mục số như thế này (mặc dù, có nhiều cách để thay đổi chỉ mục thành thứ khác) Chúng ta có thể tham chiếu các giá trị chỉ mục này bên trong truy vấn Để làm điều này, chỉ cần sử dụng từ 'chỉ mục' Đây là một ví dụ. Ở đây, chúng tôi sẽ trả về các hàng có chỉ số nhỏ hơn 3. Điều này sẽ trả về hiệu quả ba hàng đầu tiên sales_data.query('sales > 60000')0 NGOÀI name region sales expenses 0 William East 50000 42000 1 Emma North 52000 43000 2 Sofia East 90000 50000 3 Markus South 34000 44000 4 Edward West 42000 38000 5 Thomas West 72000 39000 6 Ethan South 49000 42000 7 Olivia West 55000 60000 8 Arun West 67000 39000 9 Anika East 65000 44000 10 Paulo South 67000 4500010 Lưu ý rằng trong kết quả này, các giá trị chỉ số (ở phía bên trái của bản in) đều nhỏ hơn 3 Bạn cũng có thể sử dụng các phép toán bên trong các biểu thức của mình và đây có thể là một kỹ thuật hữu ích để tập hợp dữ liệu của bạn theo những cách thú vị Ví dụ: chúng tôi có thể sử dụng toán tử modulo ( sales_data.query('sales > 60000')79) trên sales_data.query('sales > 60000')80 để truy xuất các hàng "lẻ" trong Khung dữ liệu của chúng tôi name region sales expenses 0 William East 50000 42000 1 Emma North 52000 43000 2 Sofia East 90000 50000 3 Markus South 34000 44000 4 Edward West 42000 38000 5 Thomas West 72000 39000 6 Ethan South 49000 42000 7 Olivia West 55000 60000 8 Arun West 67000 39000 9 Anika East 65000 44000 10 Paulo South 67000 4500011 NGOÀI name region sales expenses 0 William East 50000 42000 1 Emma North 52000 43000 2 Sofia East 90000 50000 3 Markus South 34000 44000 4 Edward West 42000 38000 5 Thomas West 72000 39000 6 Ethan South 49000 42000 7 Olivia West 55000 60000 8 Arun West 67000 39000 9 Anika East 65000 44000 10 Paulo South 67000 4500012 Sử dụng sales_data.query('sales > 60000')80 bên trong các biểu thức của bạn cho truy vấn là một cách tốt để đặt con có điều kiện vào chỉ mục VÍ DỤ 4. Tập hợp một khung dữ liệu gấu trúc bằng cách so sánh hai cộtBây giờ, hãy làm cho mọi thứ phức tạp hơn một chút Ở đây, chúng ta sẽ so sánh hai biến – name region sales expenses 0 William East 50000 42000 1 Emma North 52000 43000 2 Sofia East 90000 50000 3 Markus South 34000 44000 4 Edward West 42000 38000 5 Thomas West 72000 39000 6 Ethan South 49000 42000 7 Olivia West 55000 60000 8 Arun West 67000 39000 9 Anika East 65000 44000 10 Paulo South 67000 4500050 và name region sales expenses 0 William East 50000 42000 1 Emma North 52000 43000 2 Sofia East 90000 50000 3 Markus South 34000 44000 4 Edward West 42000 38000 5 Thomas West 72000 39000 6 Ethan South 49000 42000 7 Olivia West 55000 60000 8 Arun West 67000 39000 9 Anika East 65000 44000 10 Paulo South 67000 4500051 – và trả về các hàng có doanh thu nhỏ hơn chi phí name region sales expenses 0 William East 50000 42000 1 Emma North 52000 43000 2 Sofia East 90000 50000 3 Markus South 34000 44000 4 Edward West 42000 38000 5 Thomas West 72000 39000 6 Ethan South 49000 42000 7 Olivia West 55000 60000 8 Arun West 67000 39000 9 Anika East 65000 44000 10 Paulo South 67000 4500013 NGOÀI name region sales expenses 0 William East 50000 42000 1 Emma North 52000 43000 2 Sofia East 90000 50000 3 Markus South 34000 44000 4 Edward West 42000 38000 5 Thomas West 72000 39000 6 Ethan South 49000 42000 7 Olivia West 55000 60000 8 Arun West 67000 39000 9 Anika East 65000 44000 10 Paulo South 67000 4500014 Việc này thật thẳng thắn. Biểu thức logic của chúng ta, sales_data.query('sales > 60000')84, hướng dẫn phương thức truy vấn trả về các hàng có doanh thu nhỏ hơn chi phí. Và đó là những gì trong đầu ra Hãy nhớ rằng chúng ta có thể sử dụng nhiều hơn hai biến trong các biểu thức của mình hoặc làm cho các biểu thức trở nên phức tạp hơn bằng các toán tử logic Tôi sẽ cho bạn thấy một ví dụ về điều đó trong ví dụ tiếp theo VÍ DỤ 5. Tập hợp con một khung dữ liệu gấu trúc với nhiều điều kiệnỞ đây, chúng ta sẽ tập hợp con DataFrame dựa trên một biểu thức logic phức tạp. Biểu thức bao gồm hai biểu thức nhỏ hơn đang được kết hợp với toán tử sales_data.query('sales > 60000')85 Chúng tôi sẽ trả về các hàng có doanh số lớn hơn 50000 VÀ khu vực là 'Đông' hoặc 'Tây' Đây là mã name region sales expenses 0 William East 50000 42000 1 Emma North 52000 43000 2 Sofia East 90000 50000 3 Markus South 34000 44000 4 Edward West 42000 38000 5 Thomas West 72000 39000 6 Ethan South 49000 42000 7 Olivia West 55000 60000 8 Arun West 67000 39000 9 Anika East 65000 44000 10 Paulo South 67000 4500015 Và đây là đầu ra name region sales expenses 0 William East 50000 42000 1 Emma North 52000 43000 2 Sofia East 90000 50000 3 Markus South 34000 44000 4 Edward West 42000 38000 5 Thomas West 72000 39000 6 Ethan South 49000 42000 7 Olivia West 55000 60000 8 Arun West 67000 39000 9 Anika East 65000 44000 10 Paulo South 67000 4500016 Lưu ý những hàng nào thực sự ở đầu ra. Tất cả các hàng đều có một khu vực là 'Đông' hoặc 'Tây'. Ngoài ra, tất cả các hàng có doanh số lớn hơn 50000 Chúng tôi đã làm điều này bằng cách tạo một biểu thức logic phức hợp bằng cách sử dụng toán tử sales_data.query('sales > 60000')85 Biểu thức tổng thể bên trong truy vấn là sales_data.query('sales > 60000')87 Chú ý rằng có hai phần. Phần đầu tiên là sales_data.query('sales > 60000')88. Phần thứ hai là sales_data.query('sales > 60000')89. Bản thân cả hai phần này đều là các biểu thức nhỏ sẽ tập hợp con DataFrame của chúng tôi. Nhưng ở đây, chúng ta đang kết hợp chúng với toán tử logic '______485'. Điều này yêu cầu truy vấn trả về các hàng có cả hai phần là name region sales expenses 0 William East 50000 42000 1 Emma North 52000 43000 2 Sofia East 90000 50000 3 Markus South 34000 44000 4 Edward West 42000 38000 5 Thomas West 72000 39000 6 Ethan South 49000 42000 7 Olivia West 55000 60000 8 Arun West 67000 39000 9 Anika East 65000 44000 10 Paulo South 67000 450001 Nếu muốn, bạn cũng có thể sử dụng toán tử logic ' name region sales expenses 0 William East 50000 42000 1 Emma North 52000 43000 2 Sofia East 90000 50000 3 Markus South 34000 44000 4 Edward West 42000 38000 5 Thomas West 72000 39000 6 Ethan South 49000 42000 7 Olivia West 55000 60000 8 Arun West 67000 39000 9 Anika East 65000 44000 10 Paulo South 67000 450002' và toán tử logic ' name region sales expenses 0 William East 50000 42000 1 Emma North 52000 43000 2 Sofia East 90000 50000 3 Markus South 34000 44000 4 Edward West 42000 38000 5 Thomas West 72000 39000 6 Ethan South 49000 42000 7 Olivia West 55000 60000 8 Arun West 67000 39000 9 Anika East 65000 44000 10 Paulo South 67000 450003' bên trong các biểu thức của mình. Về cơ bản, bạn sử dụng các toán tử logic Python để tạo các biểu thức phức tạp hơn và tập hợp con dữ liệu của mình theo những cách phức tạp hơn VÍ DỤ 6. tham chiếu các biến cục bộ bên trong truy vấnBây giờ, hãy làm điều gì đó hơi khác một chút Cho đến nay, chúng tôi đã tham chiếu đến các biến thực sự bên trong DataFrame. Chúng tôi đã tham khảo tên của các cột, như name region sales expenses 0 William East 50000 42000 1 Emma North 52000 43000 2 Sofia East 90000 50000 3 Markus South 34000 44000 4 Edward West 42000 38000 5 Thomas West 72000 39000 6 Ethan South 49000 42000 7 Olivia West 55000 60000 8 Arun West 67000 39000 9 Anika East 65000 44000 10 Paulo South 67000 4500050 và name region sales expenses 0 William East 50000 42000 1 Emma North 52000 43000 2 Sofia East 90000 50000 3 Markus South 34000 44000 4 Edward West 42000 38000 5 Thomas West 72000 39000 6 Ethan South 49000 42000 7 Olivia West 55000 60000 8 Arun West 67000 39000 9 Anika East 65000 44000 10 Paulo South 67000 4500051 Bây giờ, chúng ta sẽ tham chiếu một biến bên ngoài khung dữ liệu Ở đây, chúng tôi sẽ tính giá trị trung bình của biến doanh số bán hàng và lưu trữ nó dưới dạng một biến riêng biệt bên ngoài Khung dữ liệu của chúng tôi name region sales expenses 0 William East 50000 42000 1 Emma North 52000 43000 2 Sofia East 90000 50000 3 Markus South 34000 44000 4 Edward West 42000 38000 5 Thomas West 72000 39000 6 Ethan South 49000 42000 7 Olivia West 55000 60000 8 Arun West 67000 39000 9 Anika East 65000 44000 10 Paulo South 67000 4500017 Và chúng ta hãy nhìn vào giá trị name region sales expenses 0 William East 50000 42000 1 Emma North 52000 43000 2 Sofia East 90000 50000 3 Markus South 34000 44000 4 Edward West 42000 38000 5 Thomas West 72000 39000 6 Ethan South 49000 42000 7 Olivia West 55000 60000 8 Arun West 67000 39000 9 Anika East 65000 44000 10 Paulo South 67000 4500018 NGOÀI name region sales expenses 0 William East 50000 42000 1 Emma North 52000 43000 2 Sofia East 90000 50000 3 Markus South 34000 44000 4 Edward West 42000 38000 5 Thomas West 72000 39000 6 Ethan South 49000 42000 7 Olivia West 55000 60000 8 Arun West 67000 39000 9 Anika East 65000 44000 10 Paulo South 67000 4500019 Biến này, name region sales expenses 0 William East 50000 42000 1 Emma North 52000 43000 2 Sofia East 90000 50000 3 Markus South 34000 44000 4 Edward West 42000 38000 5 Thomas West 72000 39000 6 Ethan South 49000 42000 7 Olivia West 55000 60000 8 Arun West 67000 39000 9 Anika East 65000 44000 10 Paulo South 67000 450006, chỉ giữ giá trị trung bình của biến doanh số bán hàng của chúng tôi Tiếp theo, chúng ta sẽ tham khảo biến đó Để làm điều này, chúng ta sẽ sử dụng ký tự ' name region sales expenses 0 William East 50000 42000 1 Emma North 52000 43000 2 Sofia East 90000 50000 3 Markus South 34000 44000 4 Edward West 42000 38000 5 Thomas West 72000 39000 6 Ethan South 49000 42000 7 Olivia West 55000 60000 8 Arun West 67000 39000 9 Anika East 65000 44000 10 Paulo South 67000 450007' trước biến Hãy nhìn vào mã name region sales expenses 0 William East 50000 42000 1 Emma North 52000 43000 2 Sofia East 90000 50000 3 Markus South 34000 44000 4 Edward West 42000 38000 5 Thomas West 72000 39000 6 Ethan South 49000 42000 7 Olivia West 55000 60000 8 Arun West 67000 39000 9 Anika East 65000 44000 10 Paulo South 67000 450000 Và đây là đầu ra name region sales expenses 0 William East 50000 42000 1 Emma North 52000 43000 2 Sofia East 90000 50000 3 Markus South 34000 44000 4 Edward West 42000 38000 5 Thomas West 72000 39000 6 Ethan South 49000 42000 7 Olivia West 55000 60000 8 Arun West 67000 39000 9 Anika East 65000 44000 10 Paulo South 67000 450003 Lưu ý rằng đối với tất cả các hàng, doanh số lớn hơn 58454. 545 (giá trị trung bình của doanh thu) VÍ DỤ 7. Sửa đổi DataFrame tại chỗCuối cùng, hãy làm một ví dụ nữa Ở đây, chúng tôi sẽ sửa đổi DataFrame "tại chỗ" Điều đó có nghĩa là chúng tôi sẽ trực tiếp sửa đổi DataFrame mà chúng tôi đang vận hành, thay vì tạo một DataFrame mới Bây giờ hãy ghi nhớ. sửa đổi DataFrame tại chỗ có thể gặp rủi ro, vì chúng tôi sẽ ghi đè lên dữ liệu của mình Trong trường hợp đó, tôi thực sự sẽ tạo một DataFrame trùng lặp đầu tiên được gọi là name region sales expenses 0 William East 50000 42000 1 Emma North 52000 43000 2 Sofia East 90000 50000 3 Markus South 34000 44000 4 Edward West 42000 38000 5 Thomas West 72000 39000 6 Ethan South 49000 42000 7 Olivia West 55000 60000 8 Arun West 67000 39000 9 Anika East 65000 44000 10 Paulo South 67000 450008. Bằng cách này, khi chúng tôi sửa đổi dữ liệu, chúng tôi sẽ ghi đè lên bản sao và giữ nguyên bản gốc của chúng tôi name region sales expenses 0 William East 50000 42000 1 Emma North 52000 43000 2 Sofia East 90000 50000 3 Markus South 34000 44000 4 Edward West 42000 38000 5 Thomas West 72000 39000 6 Ethan South 49000 42000 7 Olivia West 55000 60000 8 Arun West 67000 39000 9 Anika East 65000 44000 10 Paulo South 67000 450002 Bây giờ, hãy sửa đổi name region sales expenses 0 William East 50000 42000 1 Emma North 52000 43000 2 Sofia East 90000 50000 3 Markus South 34000 44000 4 Edward West 42000 38000 5 Thomas West 72000 39000 6 Ethan South 49000 42000 7 Olivia West 55000 60000 8 Arun West 67000 39000 9 Anika East 65000 44000 10 Paulo South 67000 450008 Ở đây, chúng tôi sẽ chọn các hàng có sales_data.query('sales > 60000')00, nhưng chúng tôi sẽ trực tiếp sửa đổi Khung dữ liệu bằng cách đặt name region sales expenses 0 William East 50000 42000 1 Emma North 52000 43000 2 Sofia East 90000 50000 3 Markus South 34000 44000 4 Edward West 42000 38000 5 Thomas West 72000 39000 6 Ethan South 49000 42000 7 Olivia West 55000 60000 8 Arun West 67000 39000 9 Anika East 65000 44000 10 Paulo South 67000 4500033 name region sales expenses 0 William East 50000 42000 1 Emma North 52000 43000 2 Sofia East 90000 50000 3 Markus South 34000 44000 4 Edward West 42000 38000 5 Thomas West 72000 39000 6 Ethan South 49000 42000 7 Olivia West 55000 60000 8 Arun West 67000 39000 9 Anika East 65000 44000 10 Paulo South 67000 450003 Và hãy in ra đầu ra name region sales expenses 0 William East 50000 42000 1 Emma North 52000 43000 2 Sofia East 90000 50000 3 Markus South 34000 44000 4 Edward West 42000 38000 5 Thomas West 72000 39000 6 Ethan South 49000 42000 7 Olivia West 55000 60000 8 Arun West 67000 39000 9 Anika East 65000 44000 10 Paulo South 67000 450004 NGOÀI name region sales expenses 0 William East 50000 42000 1 Emma North 52000 43000 2 Sofia East 90000 50000 3 Markus South 34000 44000 4 Edward West 42000 38000 5 Thomas West 72000 39000 6 Ethan South 49000 42000 7 Olivia West 55000 60000 8 Arun West 67000 39000 9 Anika East 65000 44000 10 Paulo South 67000 450005 Lưu ý rằng các hàng trong name region sales expenses 0 William East 50000 42000 1 Emma North 52000 43000 2 Sofia East 90000 50000 3 Markus South 34000 44000 4 Edward West 42000 38000 5 Thomas West 72000 39000 6 Ethan South 49000 42000 7 Olivia West 55000 60000 8 Arun West 67000 39000 9 Anika East 65000 44000 10 Paulo South 67000 450008 đáp ứng tiêu chí của chúng tôi là chỉ mục phải nhỏ hơn 5. Ngoài ra, lưu ý rằng truy vấn đã sửa đổi DataFrame trực tiếp (thay vì tạo DataFrame mới) Câu hỏi thường gặp về truy vấn PandasDưới đây là một số câu hỏi thường gặp về phương pháp truy vấn Pandas Các câu hỏi thường gặp Lợi thế của việc sử dụng name region sales expenses 0 William East 50000 42000 1 Emma North 52000 43000 2 Sofia East 90000 50000 3 Markus South 34000 44000 4 Edward West 42000 38000 5 Thomas West 72000 39000 6 Ethan South 49000 42000 7 Olivia West 55000 60000 8 Arun West 67000 39000 9 Anika East 65000 44000 10 Paulo South 67000 45000 8 trên dấu ngoặc là gìTrong Python, có nhiều cách để chọn hàng từ khung dữ liệu Pandas Cho đến nay, phổ biến nhất là tập hợp con bằng cách sử dụng "ký hiệu ngoặc". Đây là một ví dụ (lưu ý rằng chúng tôi đang sử dụng DataFrame sales_data.query('sales > 60000')72 được tạo ở trên) name region sales expenses 0 William East 50000 42000 1 Emma North 52000 43000 2 Sofia East 90000 50000 3 Markus South 34000 44000 4 Edward West 42000 38000 5 Thomas West 72000 39000 6 Ethan South 49000 42000 7 Olivia West 55000 60000 8 Arun West 67000 39000 9 Anika East 65000 44000 10 Paulo South 67000 450006 Điều này về cơ bản tương đương với mã này bằng cách sử dụng truy vấn name region sales expenses 0 William East 50000 42000 1 Emma North 52000 43000 2 Sofia East 90000 50000 3 Markus South 34000 44000 4 Edward West 42000 38000 5 Thomas West 72000 39000 6 Ethan South 49000 42000 7 Olivia West 55000 60000 8 Arun West 67000 39000 9 Anika East 65000 44000 10 Paulo South 67000 450007 Lưu ý mã sạch hơn bao nhiêu khi chúng ta sử dụng truy vấn. Nó dễ đọc hơn. Mã trông giống "tiếng Anh" hơn và ít giống cú pháp máy tính lộn xộn hơn Trong phiên bản "ngoặc", chúng ta cần gõ liên tục tên của DataFrame. Chỉ để tham chiếu một biến, chúng ta cần nhập tên của DataFrame (i. e. , sales_data.query('sales > 60000')06) Tuy nhiên, trong phiên bản truy vấn, chúng tôi chỉ cần nhập tên của cột Hơn nữa, khi chúng ta sử dụng phương thức truy vấn Pandas, chúng ta có thể sử dụng phương thức này trong một "chuỗi" phương thức Pandas, tương tự như cách bạn sử dụng đường ống trong dplyr của R Cuối cùng, sử dụng phương thức truy vấn sẽ dễ viết hơn, dễ đọc hơn và mạnh mẽ hơn vì bạn có thể sử dụng nó cùng với các phương thức khác Truy vấn trong Pandas so với mã SQL như thế nàoNếu bạn có nền tảng về SQL, bạn có thể đang cố gắng tìm cách viết lại các truy vấn SQL của mình bằng Pandas Nếu đúng như vậy, bạn cần biết cách dịch cú pháp SQL sang Pandas Vì vậy, nếu bạn đang cố dịch SQL sang Pandas, làm thế nào để name region sales expenses 0 William East 50000 42000 1 Emma North 52000 43000 2 Sofia East 90000 50000 3 Markus South 34000 44000 4 Edward West 42000 38000 5 Thomas West 72000 39000 6 Ethan South 49000 42000 7 Olivia West 55000 60000 8 Arun West 67000 39000 9 Anika East 65000 44000 10 Paulo South 67000 450008 phù hợp? Phương thức truy vấn giống như một câu lệnh sales_data.query('sales > 60000')08 trong SQL Bạn có thể sử dụng truy vấn để chỉ định các điều kiện mà hàng của bạn phải đáp ứng để được trả lại Để lại câu hỏi khác của bạn trong các ý kiến dưới đâyBạn có thêm câu hỏi về phương pháp truy vấn Pandas? Để lại câu hỏi của bạn trong phần bình luận bên dưới Tham gia khóa học của chúng tôi để tìm hiểu thêm về PandasNếu bạn nghiêm túc về việc học Pandas, bạn nên đăng ký khóa học Pandas cao cấp của chúng tôi có tên là Pandas Mastery Pandas Mastery sẽ dạy cho bạn mọi thứ bạn cần biết về Pandas, bao gồm
Hơn nữa, nó sẽ giúp bạn hoàn toàn làm chủ cú pháp trong vòng vài tuần. Bạn sẽ khám phá cách trở nên "thông thạo" trong việc viết mã Pandas để thao tác dữ liệu của bạn Làm cách nào để viết truy vấn SQL trong DataFrame của gấu trúc?Có thể thực hiện bằng lệnh pd. phương thức concat nếu chúng ta đang sử dụng Pandas. Nếu chúng tôi đang sử dụng SQL, chúng tôi sẽ cần phải tạo cột số hàng đang chạy và nối hai bảng bằng cách sử dụng số hàng . Vì Pandasql sử dụng SQLite bên trong, nên một bảng SQLite sẽ có cột rowid được tạo theo mặc định.
Truy vấn DF là gì?Khung dữ liệu. query() lấy điều kiện trong biểu thức để chọn các hàng từ DataFrame . Biểu thức này có thể có một hoặc nhiều điều kiện. # Truy vấn tất cả các hàng có Khóa học bằng 'Spark' df2=df. truy vấn("Khóa học == 'Spark'") in(df2)
Có thể truy vấn dữ liệu bằng thư viện gấu trúc không?Pandasql cho phép bạn viết truy vấn SQL để truy vấn dữ liệu của bạn từ khung dữ liệu gấu trúc . Điều này cho phép bạn vượt qua yêu cầu thông thường là phải học nhiều Python trong Pandas. Thay vào đó, bạn có thể chỉ cần viết truy vấn SQL thông thường của mình trong một lệnh gọi hàm và chạy nó trên khung dữ liệu Pandas để truy xuất dữ liệu của bạn.
Ví dụ về DataFrame trong Python là gì?DataFrame là cấu trúc dữ liệu được gắn nhãn 2 chiều với các cột thuộc các loại có thể khác nhau . Bạn có thể coi nó giống như một bảng tính hoặc bảng SQL hoặc một lệnh của các đối tượng Sê-ri. Nó thường là đối tượng gấu trúc được sử dụng phổ biến nhất. |