5 cách cần thiết để sắp xếp DataFrames trong Python
Nội dung dữ liệu lớn rất lộn xộn, đặc biệt khi bạn phải lấy chúng từ các trang web, máy chủ hoặc các nguồn dữ liệu khác.
Các ứng dụng dựa trên giao diện người dùng như MS Excel rất tốt để xử lý các tập dữ liệu đơn giản, nhưng có thể gặp khó khăn khi dữ liệu lớn hơn. Đây là một lý do chính đáng để bạn chuyển sang Python để thực hiện các hoạt động dựa trên dữ liệu phức tạp hơn.
Thư viện bên thứ ba của Python, Pandas, đã đi một chặng đường dài trong việc giúp bạn sắp xếp các tập dữ liệu hiện có của mình một cách nhanh chóng. Nếu bạn đang tìm cách sắp xếp dữ liệu của mình bằng Python, bài viết này sẽ xem xét một số cách để đạt được nhiệm vụ này.
Mục Lục
Điều kiện tiên quyết để sử dụng Python để sắp xếp dữ liệu
Trước khi sắp xếp dữ liệu của bạn bằng Python, bạn cần quan tâm đến một số điều kiện tiên quyết:
- Tải xuống một IDE Python. Bạn có thể sử dụng IDE tương thích với Python, chẳng hạn như Jupyter Notebook, PyCharm và Spyder, trong số những IDE khác. Mỗi phiên bản này đều tương thích với tất cả các phiên bản Python.
- Cài đặt gấu trúc. Bạn sẽ cần gói pandas mà bạn có thể cài đặt bằng PIP hoặc phương pháp ưa thích của bạn.
- Tập dữ liệu mẫu. Tải xuống tập dữ liệu mẫu để thực hành các mã được liệt kê. Ngoài ra, bạn có thể sử dụng các quy trình này trên dữ liệu độc quyền của mình.
Nhập Thư viện Pandas bằng Python
Pandas là thư viện Python của bên thứ ba mà bạn có thể sử dụng để xử lý Excel, CSV và các định dạng dữ liệu khác.
Để làm việc với một tệp Excel mẫu, hãy bắt đầu bằng cách nhập thư viện gấu trúc. Sau đó, bạn sẽ sử dụng quy trình nhập để đọc dữ liệu Excel sang Python.
Để nhập thư viện
import pandas as pd
Tạo DataFrame mới để tải dữ liệu Excel
file = "Sample - Superstore.xls"
df = pd.read_excel(file)
df.head()
Ở đâu:
- df là một đối tượng DataFrame lưu trữ dữ liệu đã nhập.
- pd là một bí danh cho thư viện Pandas.
- read_excel là một phương pháp để đọc tệp Excel sang Python.
- tập tin là một đường dẫn đến tệp Excel.
- cái đầu là một phương thức trả về năm hàng đầu tiên từ DataFrame.
Khi chương trình của bạn đã tải xong dữ liệu, bạn có thể sử dụng nhiều phương pháp DataFrame có sẵn để sắp xếp nó theo nhiều cách khác nhau.
1. Sắp xếp theo một cột trong DataFrame
Vì dữ liệu của bạn sẽ có rất nhiều hàng và cột, nên bạn thường muốn sắp xếp dữ liệu dựa trên một hoặc các cột cụ thể.
Python sắp xếp dữ liệu theo thứ tự tăng dần theo mặc định. Nếu bạn muốn thay đổi thứ tự sắp xếp, bạn phải đề cập rõ ràng nó trong mã của mình.
Sắp xếp theo một cột duy nhất (Thứ tự tăng dần)
df.sort_values(by = "Customer ID")
Sắp xếp theo một cột duy nhất (Thứ tự giảm dần)
Đặt tăng dần tham số cho Sai để sắp xếp cột của bạn theo thứ tự giảm dần.
df.sort_values(by = "Customer ID", ascending=False)
Ở đâu:
- df là một đối tượng DataFrame chứa dữ liệu.
- giá_trị_sắp_xếp là một phương pháp để sắp xếp theo giá trị dữ liệu.
- qua là một tham số để xác định tên cột.
- tăng dần là một tham số để xác định thứ tự sắp xếp.
2. Sắp xếp nhiều cột trong DataFrame
Nếu yêu cầu của bạn yêu cầu nó, bạn cũng có thể sắp xếp (các) DataFrame của mình dựa trên nhiều cột cùng một lúc. Trong trường hợp như vậy, bạn phải xác định các tham chiếu cột trong danh sách.
Sắp xếp theo Nhiều cột Tăng dần
df.sort_values(by = ["Customer ID", "City"])
Sắp xếp theo nhiều cột giảm dần
Sử dụng chức năng tăng dần = Sai để sắp xếp các cột của bạn theo thứ tự giảm dần. Hãy nhớ rằng, bạn cần chỉ định tên của các cột trong danh sách để sắp xếp chúng đồng thời.
df.sort_values(by = ["Customer ID", "City"], ascending = False)
Sắp xếp theo nhiều cột trong các thứ tự sắp xếp khác nhau
Với những điều cơ bản về cách sắp xếp, điều gì sẽ xảy ra khi bạn muốn sắp xếp một cột theo thứ tự giảm dần và một cột khác theo thứ tự tăng dần? Bạn cần chỉnh sửa mã của mình một chút để kết hợp các yêu cầu này.
Ví dụ, để sắp xếp Vùng đất và Thành phố các cột theo thứ tự giảm dần và tăng dần, tương ứng:
df.sort_values(by = ["Region", "City"], ascending = [False, True])
Giải thích về mã này rất đơn giản; bạn xác định tên DataFrame và chuyển giá_trị_sắp_xếp cùng với tên cột trong danh sách. Bạn nên sử dụng Boolean các giá trị để chỉ định thứ tự sắp xếp.
Gọi hàm như thế này có nghĩa là Python sẽ sắp xếp theo cột Vùng của DataFrame theo thứ tự giảm dần, trước tiên. Sau đó, các hàng có Vùng giống hệt nhau sẽ được sắp xếp thêm theo cột Thành phố, theo thứ tự tăng dần.
3. Cách sắp xếp các cột trong DataFrame theo chỉ mục
Biến chỉ mục là giá trị mặc định được gán cho mỗi hàng trong Khung dữ liệu Python. Bạn có thể xác định các giá trị chỉ mục hoặc để Python tự đặt giá trị chỉ mục.
Để sắp xếp dữ liệu theo giá trị chỉ mục của nó, bạn có thể sử dụng sort_index hàm số. Hàm này sắp xếp dựa trên chỉ mục thay vì dựa trên bất kỳ giá trị nào có trong tập dữ liệu gốc.
df.sort_index()
Như với giá trị sắp xếp, bạn có thể vượt qua một tăng dần tham số để chỉ định hướng sắp xếp. Ví dụ: chuyển một giá trị là Sai để sắp xếp dữ liệu theo thứ tự giảm dần:
df.sort_index(ascending = False)
4. Sắp xếp các cột trong DataFrame thay vì hàng
Thay vì sắp xếp các hàng trong DataFrame, bạn có thể sắp xếp các cột của nó. Bạn có thể làm như vậy bằng cách gọi phương thức sort_index và chuyển nó một trục tham số có giá trị là 1:
df.sort_index(axis=1)
Bước này sắp xếp DataFrame, theo các cột của nó, theo thứ tự tăng dần. Để sắp xếp các cột của DataFrame theo thứ tự giảm dần, bạn có thể chỉ định thứ tự sắp xếp trong bước sắp xếp của mình.
df.sort_index(axis=1, ascending = False)
5. Sửa đổi DataFrame trong khi sắp xếp nó
Hai phương pháp sắp xếp hoạt động bằng cách trả về một bản sao của dữ liệu gốc, ở trạng thái mới được sắp xếp. Để tiết kiệm dung lượng lưu trữ hoặc đơn giản là để viết mã ngắn gọn hơn, bạn có thể sửa đổi dữ liệu DataFrame ban đầu. Mỗi phương thức chấp nhận một tại chỗ tham số boolean sửa đổi dữ liệu thay vì trả về một bản sao đã sửa đổi.
df.sort_values(by = ["Customer ID", "City"], ascending = False, inplace = True)
Học cách sắp xếp dữ liệu bằng Python
Python sao chép nhiều hàm tích hợp của Excel bằng một vài dòng mã. Từ các thủ tục sắp xếp đến tạo các bảng Pivot phức tạp trên dữ liệu của bạn, bạn đặt tên cho nó và bạn có thể thực hiện bằng Python.
Nếu bạn vẫn chưa quen với Python và đang học theo kinh nghiệm, các bước này sẽ nâng cao kỹ năng viết mã của bạn một cách tương đối dễ dàng.