Hướng dẫn sort the summary python - sắp xếp tóm tắt python
Xem bây giờ hướng dẫn này có một khóa học video liên quan được tạo bởi nhóm Python thực sự. Xem cùng với hướng dẫn bằng văn bản để hiểu sâu hơn về sự hiểu biết của bạn: Sắp xếp dữ liệu bằng Python bằng gấu trúc This tutorial has a related video course created by the Real Python team. Watch it together with the written tutorial to deepen your understanding: Sorting Data in Python With Pandas Show
Học các phương pháp sắp xếp gấu trúc là một cách tuyệt vời để bắt đầu hoặc thực hành phân tích dữ liệu cơ bản bằng Python. Thông thường nhất, phân tích dữ liệu được thực hiện với bảng tính, SQL hoặc gấu trúc. Một trong những điều tuyệt vời về việc sử dụng gấu trúc là nó có thể xử lý một lượng lớn dữ liệu và cung cấp các khả năng thao tác dữ liệu hiệu suất cao.sort methods is a great way to start with or practice doing basic data analysis using Python. Most commonly, data analysis is done with spreadsheets, SQL, or pandas. One of the great things about using pandas is that it can handle a large amount of data and offers highly performant data manipulation capabilities. Trong hướng dẫn này, bạn sẽ học cách sử dụng 2 và 3, điều này sẽ cho phép bạn sắp xếp dữ liệu hiệu quả trong một khung dữ liệu.Đến cuối hướng dẫn này, bạn sẽ biết cách:
Để làm theo cùng với hướng dẫn này, bạn sẽ cần một sự hiểu biết cơ bản về các khung dữ liệu gấu trúc và một số quen thuộc với việc đọc dữ liệu từ các tệp. Bắt đầu với các phương pháp sắp xếp gấu trúcNhư một lời nhắc nhở nhanh chóng, DataFrame là một cấu trúc dữ liệu với các trục được dán nhãn cho cả hàng và cột. Bạn có thể sắp xếp một dataFrame theo giá trị hàng hoặc cột cũng như chỉ mục hàng hoặc cột.DataFrame is a data structure with labeled axes for both rows and columns. You can sort a DataFrame by row or column value as well as by row or column index. Cả hai hàng và cột đều có các chỉ số, là các biểu diễn bằng số về nơi dữ liệu nằm trong khung dữ liệu của bạn. Bạn có thể truy xuất dữ liệu từ các hàng hoặc cột cụ thể bằng các vị trí chỉ mục DataFrame. Theo mặc định, số chỉ mục bắt đầu từ 0. Bạn cũng có thể gán thủ công chỉ mục của riêng bạn.indices, which are numerical representations of where the data is in your DataFrame. You can retrieve data from specific rows or columns using the DataFrame’s index locations. By default, index numbers start from zero. You can also manually assign your own index. Chuẩn bị bộ dữ liệuTrong hướng dẫn này, bạn sẽ làm việc với dữ liệu tiết kiệm nhiên liệu do Cơ quan Bảo vệ Môi trường Hoa Kỳ (EPA) biên soạn trên các phương tiện được thực hiện từ năm 1984 đến 2021. Bộ dữ liệu tiết kiệm nhiên liệu EPA là tuyệt vời vì nó có nhiều loại thông tin khác nhau mà bạn có thể sắp xếp trên, từ văn bản đến các loại dữ liệu số. Bộ dữ liệu chứa tổng cộng tám mươi ba cột. Để theo dõi, bạn sẽ cần phải cài đặt thư viện Pandas Python. Mã trong hướng dẫn này được thực thi bằng Pandas 1.2.0 và Python 3.9.1. Đối với mục đích phân tích, bạn sẽ xem xét dữ liệu MPG (dặm trên mỗi gallon) trên các phương tiện bằng cách thực hiện, mô hình, năm và các thuộc tính xe khác. Bạn có thể chỉ định cột nào để đọc vào DataFrame của bạn. Đối với hướng dẫn này, bạn chỉ cần một tập hợp con của các cột có sẵn. Dưới đây là các lệnh để đọc các cột có liên quan của bộ dữ liệu tiết kiệm nhiên liệu thành một khung dữ liệu và hiển thị năm hàng đầu tiên: >>>
Bằng cách gọi 9 với URL bộ dữ liệu, bạn có thể tải dữ liệu vào DataFrame. Thu hẹp các cột dẫn đến thời gian tải nhanh hơn và sử dụng bộ nhớ thấp hơn. Để hạn chế hơn nữa mức tiêu thụ bộ nhớ và để có cảm giác nhanh chóng về dữ liệu, bạn có thể chỉ định số lượng hàng cần tải bằng 0.Làm quen với >>> df.sort_values( ... by="city08", ... ascending=False ... ) city08 cylinders fuelType ... mpgData trany year 9 23 4 Regular ... Y Automatic 4-spd 1993 2 23 4 Regular ... Y Manual 5-spd 1985 7 23 4 Regular ... Y Automatic 3-spd 1993 8 23 4 Regular ... Y Manual 5-spd 1993 76 23 4 Regular ... Y Manual 5-spd 1993 .. ... ... ... ... ... ... ... 58 10 8 Regular ... N Automatic 3-spd 1985 80 9 8 Regular ... N Automatic 3-spd 1985 1 9 12 Regular ... N Manual 5-spd 1985 47 9 8 Regular ... N Automatic 3-spd 1985 99 9 8 Premium ... N Automatic 4-spd 1993 [100 rows x 10 columns] 2Bạn sử dụng 2 để sắp xếp các giá trị trong khung dữ liệu dọc theo trục (cột hoặc hàng). Thông thường, bạn muốn sắp xếp các hàng trong khung dữ liệu theo các giá trị của một hoặc nhiều cột:Hình trên cho thấy kết quả sử dụng 2 để sắp xếp các hàng dataFrame dựa trên các giá trị trong cột 4. Điều này tương tự như cách bạn sắp xếp dữ liệu trong bảng tính bằng cột.Làm quen với >>> df.sort_values( ... by="city08", ... ascending=False ... ) city08 cylinders fuelType ... mpgData trany year 9 23 4 Regular ... Y Automatic 4-spd 1993 2 23 4 Regular ... Y Manual 5-spd 1985 7 23 4 Regular ... Y Automatic 3-spd 1993 8 23 4 Regular ... Y Manual 5-spd 1993 76 23 4 Regular ... Y Manual 5-spd 1993 .. ... ... ... ... ... ... ... 58 10 8 Regular ... N Automatic 3-spd 1985 80 9 8 Regular ... N Automatic 3-spd 1985 1 9 12 Regular ... N Manual 5-spd 1985 47 9 8 Regular ... N Automatic 3-spd 1985 99 9 8 Premium ... N Automatic 4-spd 1993 [100 rows x 10 columns] 3Bạn sử dụng 3 để sắp xếp DataFrame theo chỉ mục hàng hoặc nhãn cột của nó. Sự khác biệt so với việc sử dụng 2 là bạn đã sắp xếp DataFrame dựa trên chỉ mục hàng hoặc tên cột của nó, không phải bởi các giá trị trong các hàng hoặc cột này:Chỉ số hàng của DataFrame được phác thảo màu xanh lam trong hình trên. Một chỉ mục được coi là một cột và bạn thường chỉ có một chỉ mục hàng duy nhất. Chỉ số hàng có thể được coi là số hàng, bắt đầu từ số 0. Sắp xếp DataFrame của bạn trên một cộtĐể sắp xếp DataFrame dựa trên các giá trị trong một cột duy nhất, bạn sẽ sử dụng 2. Theo mặc định, điều này sẽ trả về một DataFrame mới được sắp xếp theo thứ tự tăng dần. Nó không sửa đổi DataFrame gốc.Sắp xếp theo một cột theo thứ tự tăng dầnĐể sử dụng 2, bạn chuyển một đối số duy nhất cho phương thức chứa tên của cột bạn muốn sắp xếp theo. Trong ví dụ này, bạn sắp xếp DataFrame theo cột 0, đại diện cho City MPG cho những chiếc xe chỉ có nhiên liệu:>>>
Bằng cách gọi 9 với URL bộ dữ liệu, bạn có thể tải dữ liệu vào DataFrame. Thu hẹp các cột dẫn đến thời gian tải nhanh hơn và sử dụng bộ nhớ thấp hơn. Để hạn chế hơn nữa mức tiêu thụ bộ nhớ và để có cảm giác nhanh chóng về dữ liệu, bạn có thể chỉ định số lượng hàng cần tải bằng 0.ascending order. Although you didn’t specify a name for the argument you passed to 2, you actually used the 4 parameter, which you’ll see in the next example.Thay đổi thứ tự sắp xếpMột tham số khác của 2 là 4. Theo mặc định 2 có 4 được đặt thành 8. Nếu bạn muốn DataFrame được sắp xếp theo thứ tự giảm dần, thì bạn có thể chuyển 0 cho tham số này:descending order, then you can pass 0 to this parameter:>>>
Bằng cách chuyển 0 đến 4, bạn đảo ngược thứ tự sắp xếp. Bây giờ DataFrame của bạn được sắp xếp theo thứ tự giảm dần bởi MPG trung bình được đo trong điều kiện thành phố. Các phương tiện có giá trị MPG cao nhất là trong các hàng đầu tiên.Chọn một thuật toán sắp xếpThật tốt khi lưu ý rằng gấu trúc cho phép bạn chọn các thuật toán sắp xếp khác nhau để sử dụng với cả 2 và 3. Các thuật toán có sẵn là 5, 6 và 7. Để biết thêm thông tin về các thuật toán sắp xếp khác nhau này, hãy xem các thuật toán sắp xếp trong Python.sorting algorithms to use with
both 2 and 3. The available algorithms are 5, 6, and 7. For more information on these different sorting algorithms, check out Sorting Algorithms in Python.Thuật toán được sử dụng theo mặc định khi sắp xếp trên một cột là 5. Để thay đổi điều này thành một thuật toán sắp xếp ổn định, hãy sử dụng 6. Bạn có thể làm điều đó với tham số 0 trong 2 hoặc 3, như thế này:>>>
Bằng cách chuyển 0 đến 4, bạn đảo ngược thứ tự sắp xếp. Bây giờ DataFrame của bạn được sắp xếp theo thứ tự giảm dần bởi MPG trung bình được đo trong điều kiện thành phố. Các phương tiện có giá trị MPG cao nhất là trong các hàng đầu tiên.Chọn một thuật toán sắp xếpstable sorting algorithm will maintain the original order of those records after sorting. For that reason, using a stable sorting algorithm is necessary if you plan to perform multiple sorts. Thật tốt khi lưu ý rằng gấu trúc cho phép bạn chọn các thuật toán sắp xếp khác nhau để sử dụng với cả >>> df.sort_values( ... by="city08", ... ascending=False ... ) city08 cylinders fuelType ... mpgData trany year 9 23 4 Regular ... Y Automatic 4-spd 1993 2 23 4 Regular ... Y Manual 5-spd 1985 7 23 4 Regular ... Y Automatic 3-spd 1993 8 23 4 Regular ... Y Manual 5-spd 1993 76 23 4 Regular ... Y Manual 5-spd 1993 .. ... ... ... ... ... ... ... 58 10 8 Regular ... N Automatic 3-spd 1985 80 9 8 Regular ... N Automatic 3-spd 1985 1 9 12 Regular ... N Manual 5-spd 1985 47 9 8 Regular ... N Automatic 3-spd 1985 99 9 8 Premium ... N Automatic 4-spd 1993 [100 rows x 10 columns] 2 và >>> df.sort_values( ... by="city08", ... ascending=False ... ) city08 cylinders fuelType ... mpgData trany year 9 23 4 Regular ... Y Automatic 4-spd 1993 2 23 4 Regular ... Y Manual 5-spd 1985 7 23 4 Regular ... Y Automatic 3-spd 1993 8 23 4 Regular ... Y Manual 5-spd 1993 76 23 4 Regular ... Y Manual 5-spd 1993 .. ... ... ... ... ... ... ... 58 10 8 Regular ... N Automatic 3-spd 1985 80 9 8 Regular ... N Automatic 3-spd 1985 1 9 12 Regular ... N Manual 5-spd 1985 47 9 8 Regular ... N Automatic 3-spd 1985 99 9 8 Premium ... N Automatic 4-spd 1993 [100 rows x 10 columns] 3. Các thuật toán có sẵn là >>> df.sort_values( ... by=["make", "model"] ... )[["make", "model"]] make model 0 Alfa Romeo Spider Veloce 2000 18 Audi 100 19 Audi 100 20 BMW 740i 21 BMW 740il .. ... ... 12 Volkswagen Golf III / GTI 13 Volkswagen Jetta III 15 Volkswagen Jetta III 16 Volvo 240 17 Volvo 240 [100 rows x 2 columns] 5, >>> df.sort_values( ... by=["make", "model"] ... )[["make", "model"]] make model 0 Alfa Romeo Spider Veloce 2000 18 Audi 100 19 Audi 100 20 BMW 740i 21 BMW 740il .. ... ... 12 Volkswagen Golf III / GTI 13 Volkswagen Jetta III 15 Volkswagen Jetta III 16 Volvo 240 17 Volvo 240 [100 rows x 2 columns] 6 và >>> df.sort_values( ... by=["make", "model"] ... )[["make", "model"]] make model 0 Alfa Romeo Spider Veloce 2000 18 Audi 100 19 Audi 100 20 BMW 740i 21 BMW 740il .. ... ... 12 Volkswagen Golf III / GTI 13 Volkswagen Jetta III 15 Volkswagen Jetta III 16 Volvo 240 17 Volvo 240 [100 rows x 2 columns] 7. Để biết thêm thông tin về các thuật toán sắp xếp khác nhau này, hãy xem các thuật toán sắp xếp trong Python.Thuật toán được sử dụng theo mặc định khi sắp xếp trên một cột là 5. Để thay đổi điều này thành một thuật toán sắp xếp ổn định, hãy sử dụng 6. Bạn có thể làm điều đó với tham số 0 trong 2 hoặc 3, như thế này:Sử dụng 0, bạn đặt thuật toán sắp xếp thành 6. Đầu ra trước đó đã sử dụng thuật toán 5 mặc định. Nhìn vào các chỉ số được tô sáng, bạn có thể thấy các hàng theo một thứ tự khác. Điều này là do 5 không phải là một thuật toán sắp xếp ổn định, nhưng 6 là.>>>
Bằng cách chuyển 0 đến 4, bạn đảo ngược thứ tự sắp xếp. Bây giờ DataFrame của bạn được sắp xếp theo thứ tự giảm dần bởi MPG trung bình được đo trong điều kiện thành phố. Các phương tiện có giá trị MPG cao nhất là trong các hàng đầu tiên.Chọn một thuật toán sắp xếpThật tốt khi lưu ý rằng gấu trúc cho phép bạn chọn các thuật toán sắp xếp khác nhau để sử dụng với cả 2 và 3. Các thuật toán có sẵn là 5, 6 và 7. Để biết thêm thông tin về các thuật toán sắp xếp khác nhau này, hãy xem các thuật toán sắp xếp trong Python.>>>
Bằng cách chuyển 0 đến 4, bạn đảo ngược thứ tự sắp xếp. Bây giờ DataFrame của bạn được sắp xếp theo thứ tự giảm dần bởi MPG trung bình được đo trong điều kiện thành phố. Các phương tiện có giá trị MPG cao nhất là trong các hàng đầu tiên.Chọn một thuật toán sắp xếpThật tốt khi lưu ý rằng gấu trúc cho phép bạn chọn các thuật toán sắp xếp khác nhau để sử dụng với cả 2 và 3. Các thuật toán có sẵn là 5, 6 và 7. Để biết thêm thông tin về các thuật toán sắp xếp khác nhau này, hãy xem các thuật toán sắp xếp trong Python.>>>
Bằng cách chuyển 0 đến 4, bạn đảo ngược thứ tự sắp xếp. Bây giờ DataFrame của bạn được sắp xếp theo thứ tự giảm dần bởi MPG trung bình được đo trong điều kiện thành phố. Các phương tiện có giá trị MPG cao nhất là trong các hàng đầu tiên.Chọn một thuật toán sắp xếpThật tốt khi lưu ý rằng gấu trúc cho phép bạn chọn các thuật toán sắp xếp khác nhau để sử dụng với cả 2 và 3. Các thuật toán có sẵn là 5, 6 và 7. Để biết thêm thông tin về các thuật toán sắp xếp khác nhau này, hãy xem các thuật toán sắp xếp trong Python.>>>
Thuật toán được sử dụng theo mặc định khi sắp xếp trên một cột là 5. Để thay đổi điều này thành một thuật toán sắp xếp ổn định, hãy sử dụng 6. Bạn có thể làm điều đó với tham số 0 trong 2 hoặc 3, như thế này:case sensitive, meaning capitalized text will appear first in ascending order and last in descending order.Sử dụng >>> df.sort_values( ... by=["model", "make"] ... )[["make", "model"]] make model 18 Audi 100 19 Audi 100 16 Volvo 240 17 Volvo 240 75 Mazda 626 .. ... ... 62 Ford Thunderbird 63 Ford Thunderbird 88 Oldsmobile Toronado 42 CX Automotive XM v6 43 CX Automotive XM v6a [100 rows x 2 columns] 0, bạn đặt thuật toán sắp xếp thành >>> df.sort_values( ... by=["make", "model"] ... )[["make", "model"]] make model 0 Alfa Romeo Spider Veloce 2000 18 Audi 100 19 Audi 100 20 BMW 740i 21 BMW 740il .. ... ... 12 Volkswagen Golf III / GTI 13 Volkswagen Jetta III 15 Volkswagen Jetta III 16 Volvo 240 17 Volvo 240 [100 rows x 2 columns] 6. Đầu ra trước đó đã sử dụng thuật toán >>> df.sort_values( ... by=["make", "model"] ... )[["make", "model"]] make model 0 Alfa Romeo Spider Veloce 2000 18 Audi 100 19 Audi 100 20 BMW 740i 21 BMW 740il .. ... ... 12 Volkswagen Golf III / GTI 13 Volkswagen Jetta III 15 Volkswagen Jetta III 16 Volvo 240 17 Volvo 240 [100 rows x 2 columns] 5 mặc định. Nhìn vào các chỉ số được tô sáng, bạn có thể thấy các hàng theo một thứ tự khác. Điều này là do >>> df.sort_values( ... by=["make", "model"] ... )[["make", "model"]] make model 0 Alfa Romeo Spider Veloce 2000 18 Audi 100 19 Audi 100 20 BMW 740i 21 BMW 740il .. ... ... 12 Volkswagen Golf III / GTI 13 Volkswagen Jetta III 15 Volkswagen Jetta III 16 Volvo 240 17 Volvo 240 [100 rows x 2 columns] 5 không phải là một thuật toán sắp xếp ổn định, nhưng >>> df.sort_values( ... by=["make", "model"] ... )[["make", "model"]] make model 0 Alfa Romeo Spider Veloce 2000 18 Audi 100 19 Audi 100 20 BMW 740i 21 BMW 740il .. ... ... 12 Volkswagen Golf III / GTI 13 Volkswagen Jetta III 15 Volkswagen Jetta III 16 Volvo 240 17 Volvo 240 [100 rows x 2 columns] 6 là.Khi bạn sắp xếp nhiều bản ghi có cùng một khóa, một thuật toán sắp xếp ổn định sẽ duy trì thứ tự ban đầu của các bản ghi đó sau khi sắp xếp. Vì lý do đó, sử dụng thuật toán sắp xếp ổn định là cần thiết nếu bạn có kế hoạch thực hiện nhiều loại. Trong ví dụ này, bạn sắp xếp DataFrame của mình theo các cột 3, 4 và 0, với hai cột đầu tiên được sắp xếp theo thứ tự tăng dần và 0 được sắp xếp theo thứ tự giảm dần. Để làm như vậy, bạn chuyển một danh sách các tên cột cho 4 và danh sách Booleans cho 4:>>>
Bây giờ DataFrame của bạn được sắp xếp bởi 3 và 4 theo thứ tự tăng dần, nhưng với cột 0 theo thứ tự giảm dần. Điều này rất hữu ích vì nó nhóm những chiếc xe theo thứ tự phân loại và cho thấy những chiếc xe MPG cao nhất trước tiên.Sắp xếp dữ liệu của bạn trên chỉ mục của nóTrước khi sắp xếp trên chỉ mục, bạn nên biết một chỉ mục đại diện cho những gì. DataFrame có thuộc tính 9, theo mặc định là biểu diễn số của các vị trí hàng của nó. Bạn có thể nghĩ về chỉ mục là số hàng. Nó giúp tra cứu và nhận dạng hàng nhanh. 9 property, which by default is a numerical representation of its rows’ locations. You can think of the index as the row numbers. It helps in quick row lookup and identification.Sắp xếp theo chỉ mục theo thứ tự tăng dầnBạn có thể sắp xếp DataFrame dựa trên chỉ mục hàng của nó với 3. Sắp xếp theo các giá trị cột như bạn đã làm trong các ví dụ trước đó sắp xếp lại các hàng trong khung dữ liệu của bạn, do đó chỉ mục trở nên vô tổ chức. Điều này cũng có thể xảy ra khi bạn lọc DataFrame hoặc khi bạn thả hoặc thêm hàng.Để minh họa việc sử dụng 3, hãy bắt đầu bằng cách tạo một dữ liệu được sắp xếp mới bằng cách sử dụng 2:>>>
Bây giờ DataFrame của bạn được sắp xếp bởi 3 và 4 theo thứ tự tăng dần, nhưng với cột 0 theo thứ tự giảm dần. Điều này rất hữu ích vì nó nhóm những chiếc xe theo thứ tự phân loại và cho thấy những chiếc xe MPG cao nhất trước tiên.>>> 0Bây giờ DataFrame của bạn được sắp xếp bởi 3 và 4 theo thứ tự tăng dần, nhưng với cột 0 theo thứ tự giảm dần. Điều này rất hữu ích vì nó nhóm những chiếc xe theo thứ tự phân loại và cho thấy những chiếc xe MPG cao nhất trước tiên.Sắp xếp dữ liệu của bạn trên chỉ mục của nó 3 and 4 columns, then you can pass a list to 09:>>> Trước khi sắp xếp trên chỉ mục, bạn nên biết một chỉ mục đại diện cho những gì. DataFrame có thuộc tính 9, theo mặc định là biểu diễn số của các vị trí hàng của nó. Bạn có thể nghĩ về chỉ mục là số hàng. Nó giúp tra cứu và nhận dạng hàng nhanh.Sắp xếp theo chỉ mục theo thứ tự tăng dầnhierarchical index. Your DataFrame is now indexed by more than one key, which you can sort on with 3:>>> 2Bạn có thể sắp xếp DataFrame dựa trên chỉ mục hàng của nó với 3. Sắp xếp theo các giá trị cột như bạn đã làm trong các ví dụ trước đó sắp xếp lại các hàng trong khung dữ liệu của bạn, do đó chỉ mục trở nên vô tổ chức. Điều này cũng có thể xảy ra khi bạn lọc DataFrame hoặc khi bạn thả hoặc thêm hàng.Để minh họa việc sử dụng >>> df.sort_values( ... by="city08", ... ascending=False ... ) city08 cylinders fuelType ... mpgData trany year 9 23 4 Regular ... Y Automatic 4-spd 1993 2 23 4 Regular ... Y Manual 5-spd 1985 7 23 4 Regular ... Y Automatic 3-spd 1993 8 23 4 Regular ... Y Manual 5-spd 1993 76 23 4 Regular ... Y Manual 5-spd 1993 .. ... ... ... ... ... ... ... 58 10 8 Regular ... N Automatic 3-spd 1985 80 9 8 Regular ... N Automatic 3-spd 1985 1 9 12 Regular ... N Manual 5-spd 1985 47 9 8 Regular ... N Automatic 3-spd 1985 99 9 8 Premium ... N Automatic 4-spd 1993 [100 rows x 10 columns] 3, hãy bắt đầu bằng cách tạo một dữ liệu được sắp xếp mới bằng cách sử dụng >>> df.sort_values( ... by="city08", ... ascending=False ... ) city08 cylinders fuelType ... mpgData trany year 9 23 4 Regular ... Y Automatic 4-spd 1993 2 23 4 Regular ... Y Manual 5-spd 1985 7 23 4 Regular ... Y Automatic 3-spd 1993 8 23 4 Regular ... Y Manual 5-spd 1993 76 23 4 Regular ... Y Manual 5-spd 1993 .. ... ... ... ... ... ... ... 58 10 8 Regular ... N Automatic 3-spd 1985 80 9 8 Regular ... N Automatic 3-spd 1985 1 9 12 Regular ... N Manual 5-spd 1985 47 9 8 Regular ... N Automatic 3-spd 1985 99 9 8 Premium ... N Automatic 4-spd 1993 [100 rows x 10 columns] 2:Bạn đã tạo ra một khung dữ liệu mà LỚN sắp xếp bằng nhiều giá trị. Lưu ý cách chỉ số hàng không theo thứ tự cụ thể. Để đưa DataFrame mới của bạn trở lại đơn hàng ban đầu, bạn có thể sử dụng 3:>>> 3Bây giờ chỉ số đang theo thứ tự tăng dần. Giống như 2, đối số mặc định cho 4 trong 3 là 8 và bạn có thể thay đổi theo thứ tự giảm dần bằng cách vượt qua 0. Sắp xếp trên chỉ mục không có tác động đến chính dữ liệu vì các giá trị không thay đổi.Điều này đặc biệt hữu ích khi bạn đã chỉ định một chỉ mục tùy chỉnh với >>> df.sort_values("city08") city08 cylinders fuelType ... mpgData trany year 99 9 8 Premium ... N Automatic 4-spd 1993 1 9 12 Regular ... N Manual 5-spd 1985 80 9 8 Regular ... N Automatic 3-spd 1985 47 9 8 Regular ... N Automatic 3-spd 1985 3 10 8 Regular ... N Automatic 3-spd 1985 .. ... ... ... ... ... ... ... 9 23 4 Regular ... Y Automatic 4-spd 1993 8 23 4 Regular ... Y Manual 5-spd 1993 7 23 4 Regular ... Y Automatic 3-spd 1993 76 23 4 Regular ... Y Manual 5-spd 1993 2 23 4 Regular ... Y Manual 5-spd 1985 [100 rows x 10 columns] 09. Nếu bạn muốn đặt một chỉ mục tùy chỉnh bằng các cột >>> df.sort_values( ... by=["make", "model"], ... ascending=False ... )[["make", "model"]] make model 16 Volvo 240 17 Volvo 240 13 Volkswagen Jetta III 15 Volkswagen Jetta III 11 Volkswagen Golf III / GTI .. ... ... 21 BMW 740il 20 BMW 740i 18 Audi 100 19 Audi 100 0 Alfa Romeo Spider Veloce 2000 [100 rows x 2 columns] 3 và >>> df.sort_values( ... by=["make", "model"], ... ascending=False ... )[["make", "model"]] make model 16 Volvo 240 17 Volvo 240 13 Volkswagen Jetta III 15 Volkswagen Jetta III 11 Volkswagen Golf III / GTI .. ... ... 21 BMW 740il 20 BMW 740i 18 Audi 100 19 Audi 100 0 Alfa Romeo Spider Veloce 2000 [100 rows x 2 columns] 4, thì bạn có thể chuyển một danh sách sang >>> df.sort_values("city08") city08 cylinders fuelType ... mpgData trany year 99 9 8 Premium ... N Automatic 4-spd 1993 1 9 12 Regular ... N Manual 5-spd 1985 80 9 8 Regular ... N Automatic 3-spd 1985 47 9 8 Regular ... N Automatic 3-spd 1985 3 10 8 Regular ... N Automatic 3-spd 1985 .. ... ... ... ... ... ... ... 9 23 4 Regular ... Y Automatic 4-spd 1993 8 23 4 Regular ... Y Manual 5-spd 1993 7 23 4 Regular ... Y Automatic 3-spd 1993 76 23 4 Regular ... Y Manual 5-spd 1993 2 23 4 Regular ... Y Manual 5-spd 1985 [100 rows x 10 columns] 09: 1Sử dụng phương thức này, bạn thay thế chỉ mục hàng dựa trên số nguyên mặc định bằng hai nhãn trục. Đây được coi là 13 hoặc chỉ số phân cấp. DataFrame của bạn hiện được lập chỉ mục bởi nhiều khóa mà bạn có thể sắp xếp bằng 3:Trước tiên, bạn gán một chỉ mục mới cho DataFrame của mình bằng các cột >>> df.sort_values( ... by=["make", "model"], ... ascending=False ... )[["make", "model"]] make model 16 Volvo 240 17 Volvo 240 13 Volkswagen Jetta III 15 Volkswagen Jetta III 11 Volkswagen Golf III / GTI .. ... ... 21 BMW 740il 20 BMW 740i 18 Audi 100 19 Audi 100 0 Alfa Romeo Spider Veloce 2000 [100 rows x 2 columns] 3 và >>> df.sort_values( ... by=["make", "model"], ... ascending=False ... )[["make", "model"]] make model 16 Volvo 240 17 Volvo 240 13 Volkswagen Jetta III 15 Volkswagen Jetta III 11 Volkswagen Golf III / GTI .. ... ... 21 BMW 740il 20 BMW 740i 18 Audi 100 19 Audi 100 0 Alfa Romeo Spider Veloce 2000 [100 rows x 2 columns] 4, sau đó bạn sắp xếp chỉ mục bằng >>> df.sort_values( ... by="city08", ... ascending=False ... ) city08 cylinders fuelType ... mpgData trany year 9 23 4 Regular ... Y Automatic 4-spd 1993 2 23 4 Regular ... Y Manual 5-spd 1985 7 23 4 Regular ... Y Automatic 3-spd 1993 8 23 4 Regular ... Y Manual 5-spd 1993 76 23 4 Regular ... Y Manual 5-spd 1993 .. ... ... ... ... ... ... ... 58 10 8 Regular ... N Automatic 3-spd 1985 80 9 8 Regular ... N Automatic 3-spd 1985 1 9 12 Regular ... N Manual 5-spd 1985 47 9 8 Regular ... N Automatic 3-spd 1985 99 9 8 Premium ... N Automatic 4-spd 1993 [100 rows x 10 columns] 3. Bạn có thể đọc thêm về việc sử dụng >>> df.sort_values("city08") city08 cylinders fuelType ... mpgData trany year 99 9 8 Premium ... N Automatic 4-spd 1993 1 9 12 Regular ... N Manual 5-spd 1985 80 9 8 Regular ... N Automatic 3-spd 1985 47 9 8 Regular ... N Automatic 3-spd 1985 3 10 8 Regular ... N Automatic 3-spd 1985 .. ... ... ... ... ... ... ... 9 23 4 Regular ... Y Automatic 4-spd 1993 8 23 4 Regular ... Y Manual 5-spd 1993 7 23 4 Regular ... Y Automatic 3-spd 1993 76 23 4 Regular ... Y Manual 5-spd 1993 2 23 4 Regular ... Y Manual 5-spd 1985 [100 rows x 10 columns] 09 trong tài liệu Pandas.Sắp xếp theo chỉ mục theo thứ tự giảm dầnaxis labels instead of to the actual data. This can be helpful for visual inspection of the DataFrame. Đối với ví dụ tiếp theo, bạn sẽ sắp xếp DataFrame của mình theo chỉ mục của nó theo thứ tự giảm dần. Hãy nhớ từ việc sắp xếp DataFrame của bạn với >>> df.sort_values( ... by="city08", ... ascending=False ... ) city08 cylinders fuelType ... mpgData trany year 9 23 4 Regular ... Y Automatic 4-spd 1993 2 23 4 Regular ... Y Manual 5-spd 1985 7 23 4 Regular ... Y Automatic 3-spd 1993 8 23 4 Regular ... Y Manual 5-spd 1993 76 23 4 Regular ... Y Manual 5-spd 1993 .. ... ... ... ... ... ... ... 58 10 8 Regular ... N Automatic 3-spd 1985 80 9 8 Regular ... N Automatic 3-spd 1985 1 9 12 Regular ... N Manual 5-spd 1985 47 9 8 Regular ... N Automatic 3-spd 1985 99 9 8 Premium ... N Automatic 4-spd 1993 [100 rows x 10 columns] 2 rằng bạn có thể đảo ngược thứ tự sắp xếp bằng cách đặt >>> df.sort_values( ... by="city08", ... ascending=False ... ) city08 cylinders fuelType ... mpgData trany year 9 23 4 Regular ... Y Automatic 4-spd 1993 2 23 4 Regular ... Y Manual 5-spd 1985 7 23 4 Regular ... Y Automatic 3-spd 1993 8 23 4 Regular ... Y Manual 5-spd 1993 76 23 4 Regular ... Y Manual 5-spd 1993 .. ... ... ... ... ... ... ... 58 10 8 Regular ... N Automatic 3-spd 1985 80 9 8 Regular ... N Automatic 3-spd 1985 1 9 12 Regular ... N Manual 5-spd 1985 47 9 8 Regular ... N Automatic 3-spd 1985 99 9 8 Premium ... N Automatic 4-spd 1993 [100 rows x 10 columns] 4 sang >>> df.sort_values( ... by=["make", "model"] ... )[["make", "model"]] make model 0 Alfa Romeo Spider Veloce 2000 18 Audi 100 19 Audi 100 20 BMW 740i 21 BMW 740il .. ... ... 12 Volkswagen Golf III / GTI 13 Volkswagen Jetta III 15 Volkswagen Jetta III 16 Volvo 240 17 Volvo 240 [100 rows x 2 columns] 0. Tham số này cũng hoạt động với >>> df.sort_values( ... by="city08", ... ascending=False ... ) city08 cylinders fuelType ... mpgData trany year 9 23 4 Regular ... Y Automatic 4-spd 1993 2 23 4 Regular ... Y Manual 5-spd 1985 7 23 4 Regular ... Y Automatic 3-spd 1993 8 23 4 Regular ... Y Manual 5-spd 1993 76 23 4 Regular ... Y Manual 5-spd 1993 .. ... ... ... ... ... ... ... 58 10 8 Regular ... N Automatic 3-spd 1985 80 9 8 Regular ... N Automatic 3-spd 1985 1 9 12 Regular ... N Manual 5-spd 1985 47 9 8 Regular ... N Automatic 3-spd 1985 99 9 8 Premium ... N Automatic 4-spd 1993 [100 rows x 10 columns] 3, vì vậy bạn có thể sắp xếp DataFrame của mình theo thứ tự ngược lại như thế này:Bây giờ DataFrame của bạn được sắp xếp theo chỉ mục của nó theo thứ tự giảm dần. Một điểm khác biệt giữa việc sử dụng 3 và 2 là 3 không có tham số 4 vì nó sắp xếp một khung dữ liệu trên chỉ mục hàng theo mặc định.axis of a DataFrame refers to either the index ( 39) or the columns ( 41). You can use both axes for indexing and selecting data in a DataFrame as well as for sorting the data.Khám phá các khái niệm phân loại chỉ số nâng caoCó nhiều trường hợp trong phân tích dữ liệu nơi bạn muốn sắp xếp trên một chỉ số phân cấp. Bạn đã thấy cách bạn có thể sử dụng 3 và 4 trong 13. Đối với bộ dữ liệu này, bạn cũng có thể sử dụng cột 30 làm chỉ mục.>>> 4Các cột của khung dữ liệu của bạn được sắp xếp từ trái sang phải theo thứ tự bảng chữ cái tăng dần. Nếu bạn muốn sắp xếp các cột theo thứ tự giảm dần, thì bạn có thể sử dụng 45:>>> 5Sử dụng 41 trong 3, bạn đã sắp xếp các cột của DataFrame của mình theo cả thứ tự tăng dần và giảm dần. Điều này có thể hữu ích hơn trong các bộ dữ liệu khác, chẳng hạn như một trong đó các nhãn cột tương ứng với các tháng trong năm. Trong trường hợp đó, sẽ có ý nghĩa khi sắp xếp dữ liệu của bạn theo thứ tự tăng dần hoặc giảm dần theo tháng.
Làm việc với dữ liệu bị thiếu khi sắp xếp trong gấu trúcThông thường dữ liệu trong thế giới thực có nhiều khiếm khuyết. Mặc dù Pandas có một số phương pháp bạn có thể sử dụng để làm sạch dữ liệu của mình trước khi sắp xếp, nhưng đôi khi thật tuyệt khi thấy dữ liệu nào bị thiếu trong khi bạn sắp xếp. Bạn có thể làm điều đó với tham số 48. 48 parameter.Tập hợp con của dữ liệu tiết kiệm nhiên liệu được sử dụng cho hướng dẫn này không có giá trị thiếu. Để minh họa việc sử dụng 48, trước tiên bạn sẽ cần tạo một số dữ liệu bị thiếu. Phần mã sau đây tạo ra một cột mới dựa trên cột 50 hiện tại, ánh xạ 8 trong đó 50 bằng 53 và 54 trong đó nó không có:>>> 6Bây giờ bạn có một cột mới có tên 55 có chứa cả giá trị 8 và 54. Bạn sẽ sử dụng cột này để xem hiệu ứng nào 48 có khi bạn sử dụng hai phương thức sắp xếp. Để tìm hiểu thêm về việc sử dụng 59, bạn có thể đọc Dự án Pandas: Tạo một cuốn sách cấp có Python & Pandas.Hiểu tham số >>> df.sort_values("city08") city08 cylinders fuelType ... mpgData trany year 99 9 8 Premium ... N Automatic 4-spd 1993 1 9 12 Regular ... N Manual 5-spd 1985 80 9 8 Regular ... N Automatic 3-spd 1985 47 9 8 Regular ... N Automatic 3-spd 1985 3 10 8 Regular ... N Automatic 3-spd 1985 .. ... ... ... ... ... ... ... 9 23 4 Regular ... Y Automatic 4-spd 1993 8 23 4 Regular ... Y Manual 5-spd 1993 7 23 4 Regular ... Y Automatic 3-spd 1993 76 23 4 Regular ... Y Manual 5-spd 1993 2 23 4 Regular ... Y Manual 5-spd 1985 [100 rows x 10 columns] 48 trong >>> df.sort_values( ... by="city08", ... ascending=False ... ) city08 cylinders fuelType ... mpgData trany year 9 23 4 Regular ... Y Automatic 4-spd 1993 2 23 4 Regular ... Y Manual 5-spd 1985 7 23 4 Regular ... Y Automatic 3-spd 1993 8 23 4 Regular ... Y Manual 5-spd 1993 76 23 4 Regular ... Y Manual 5-spd 1993 .. ... ... ... ... ... ... ... 58 10 8 Regular ... N Automatic 3-spd 1985 80 9 8 Regular ... N Automatic 3-spd 1985 1 9 12 Regular ... N Manual 5-spd 1985 47 9 8 Regular ... N Automatic 3-spd 1985 99 9 8 Premium ... N Automatic 4-spd 1993 [100 rows x 10 columns] 2 2 chấp nhận một tham số có tên 48, giúp tổ chức các dữ liệu bị thiếu trong cột mà bạn đang sắp xếp. Nếu bạn sắp xếp trên một cột có dữ liệu bị thiếu, thì các hàng có các giá trị bị thiếu sẽ xuất hiện ở cuối khung dữ liệu của bạn. Điều này xảy ra bất kể bạn sắp xếp theo thứ tự tăng dần hay giảm dần. 48, which helps to organize missing data in the column you’re sorting on. If you sort on a column with
missing data, then the rows with the missing values will appear at the end of your DataFrame. This happens regardless of whether you’re sorting in ascending or descending order. Dưới đây, DataFrame của bạn trông như thế nào khi bạn sắp xếp cột với dữ liệu bị thiếu: >>> 7Để thay đổi hành vi đó và có dữ liệu bị thiếu xuất hiện đầu tiên trong DataFrame của bạn, bạn có thể đặt 48 thành 65. Tham số 48 chỉ chấp nhận các giá trị 67, là mặc định và 65. Tại đây, cách sử dụng 69 trong 2:>>> 8Bây giờ, bất kỳ dữ liệu còn thiếu nào từ các cột bạn đã sử dụng để sắp xếp sẽ được hiển thị ở đầu DataFrame của bạn. Điều này là hữu ích nhất khi bạn lần đầu tiên bắt đầu phân tích dữ liệu của bạn và không chắc chắn nếu có các giá trị bị thiếu. Hiểu tham số >>> df.sort_values("city08") city08 cylinders fuelType ... mpgData trany year 99 9 8 Premium ... N Automatic 4-spd 1993 1 9 12 Regular ... N Manual 5-spd 1985 80 9 8 Regular ... N Automatic 3-spd 1985 47 9 8 Regular ... N Automatic 3-spd 1985 3 10 8 Regular ... N Automatic 3-spd 1985 .. ... ... ... ... ... ... ... 9 23 4 Regular ... Y Automatic 4-spd 1993 8 23 4 Regular ... Y Manual 5-spd 1993 7 23 4 Regular ... Y Automatic 3-spd 1993 76 23 4 Regular ... Y Manual 5-spd 1993 2 23 4 Regular ... Y Manual 5-spd 1985 [100 rows x 10 columns] 48 trong >>> df.sort_values( ... by="city08", ... ascending=False ... ) city08 cylinders fuelType ... mpgData trany year 9 23 4 Regular ... Y Automatic 4-spd 1993 2 23 4 Regular ... Y Manual 5-spd 1985 7 23 4 Regular ... Y Automatic 3-spd 1993 8 23 4 Regular ... Y Manual 5-spd 1993 76 23 4 Regular ... Y Manual 5-spd 1993 .. ... ... ... ... ... ... ... 58 10 8 Regular ... N Automatic 3-spd 1985 80 9 8 Regular ... N Automatic 3-spd 1985 1 9 12 Regular ... N Manual 5-spd 1985 47 9 8 Regular ... N Automatic 3-spd 1985 99 9 8 Premium ... N Automatic 4-spd 1993 [100 rows x 10 columns] 3 3 cũng chấp nhận 48. DataFrame của bạn thường giành được giá trị 54 như là một phần của chỉ mục của nó, vì vậy tham số này ít hữu ích hơn trong 3. Tuy nhiên, thật tốt khi biết rằng nếu DataFrame của bạn có 54 trong chỉ số hàng hoặc tên cột, thì bạn có thể nhanh chóng xác định điều này bằng cách sử dụng 3 và 48.Theo mặc định, tham số này được đặt thành 67, đặt các giá trị 54 ở cuối kết quả được sắp xếp. Để thay đổi hành vi đó và có dữ liệu bị thiếu trước trong DataFrame của bạn, hãy đặt 48 thành 65.Sử dụng các phương thức sắp xếp để sửa đổi DataFrame của bạnTrong tất cả các ví dụ mà bạn đã thấy cho đến nay, cả 2 và 3 đã trả về các đối tượng DataFrame khi bạn gọi các phương thức đó. Điều đó bởi vì việc sắp xếp trong gấu trúc không có hoạt động tại chỗ theo mặc định. Nói chung, đây là cách phổ biến nhất và ưa thích nhất để phân tích dữ liệu của bạn với gấu trúc vì nó tạo ra một dataFrame mới thay vì sửa đổi bản gốc. Điều này cho phép bạn lưu giữ trạng thái của dữ liệu từ khi bạn đọc nó từ tệp của mình.Tuy nhiên, bạn có thể sửa đổi trực tiếp DataFrame gốc bằng cách chỉ định tham số tùy chọn 7 với giá trị 8. Phần lớn các phương pháp gấu trúc bao gồm tham số 7. Dưới đây, bạn sẽ thấy một vài ví dụ về việc sử dụng 89 để sắp xếp dữ liệu của bạn tại chỗ. 7 with the value of 8. The majority of pandas methods include the 7 parameter. Below, you’ll see a few examples of using 89 to sort your DataFrame in place.Sử dụng >>> df.sort_values( ... by="city08", ... ascending=False ... ) city08 cylinders fuelType ... mpgData trany year 9 23 4 Regular ... Y Automatic 4-spd 1993 2 23 4 Regular ... Y Manual 5-spd 1985 7 23 4 Regular ... Y Automatic 3-spd 1993 8 23 4 Regular ... Y Manual 5-spd 1993 76 23 4 Regular ... Y Manual 5-spd 1993 .. ... ... ... ... ... ... ... 58 10 8 Regular ... N Automatic 3-spd 1985 80 9 8 Regular ... N Automatic 3-spd 1985 1 9 12 Regular ... N Manual 5-spd 1985 47 9 8 Regular ... N Automatic 3-spd 1985 99 9 8 Premium ... N Automatic 4-spd 1993 [100 rows x 10 columns] 2 tại chỗVới 7 được đặt thành 8, bạn sửa đổi DataFrame gốc, do đó các phương thức sắp xếp trả về 93. Sắp xếp dữ liệu của bạn theo các giá trị của cột 0 như ví dụ đầu tiên, nhưng với 7 được đặt thành 8:>>> 9Lưu ý cách gọi 2 không trả lại một khung dữ liệu. Ở đây, những gì 98 ban đầu trông giống như:>>> 0Trong đối tượng 98, các giá trị hiện được sắp xếp theo thứ tự tăng dần dựa trên cột 0. DataFrame ban đầu của bạn đã được sửa đổi và những thay đổi sẽ tồn tại. Nói chung, một ý tưởng tốt để tránh sử dụng 89 để phân tích vì những thay đổi đối với dataFrame của bạn có thể được hoàn tác.Sử dụng >>> df.sort_values( ... by="city08", ... ascending=False ... ) city08 cylinders fuelType ... mpgData trany year 9 23 4 Regular ... Y Automatic 4-spd 1993 2 23 4 Regular ... Y Manual 5-spd 1985 7 23 4 Regular ... Y Automatic 3-spd 1993 8 23 4 Regular ... Y Manual 5-spd 1993 76 23 4 Regular ... Y Manual 5-spd 1993 .. ... ... ... ... ... ... ... 58 10 8 Regular ... N Automatic 3-spd 1985 80 9 8 Regular ... N Automatic 3-spd 1985 1 9 12 Regular ... N Manual 5-spd 1985 47 9 8 Regular ... N Automatic 3-spd 1985 99 9 8 Premium ... N Automatic 4-spd 1993 [100 rows x 10 columns] 3 tại chỗVí dụ tiếp theo minh họa rằng 7 cũng hoạt động với 3.Vì chỉ mục được tạo theo thứ tự tăng dần khi bạn đọc tệp của mình vào DataFrame, bạn có thể sửa đổi đối tượng 98 của mình một lần nữa để đưa nó trở lại thứ tự ban đầu. Sử dụng 3 với 7 được đặt thành 8 để sửa đổi DataFrame:>>> 1Bây giờ DataFrame của bạn đã được sửa đổi một lần nữa bằng cách sử dụng 3. Vì DataFrame của bạn vẫn có chỉ mục mặc định, nên việc sắp xếp nó theo thứ tự tăng dần sẽ đặt dữ liệu trở lại thứ tự ban đầu.Nếu bạn quen thuộc với các hàm tích hợp Python, 10 và 11, thì tham số 7 có sẵn trong các phương thức sắp xếp Pandas có thể cảm thấy rất giống nhau. Để biết thêm thông tin, bạn có thể kiểm tra cách sử dụng Sắp xếp () và Sắp xếp () trong Python.Sự kết luậnBây giờ bạn đã biết cách sử dụng hai phương thức cốt lõi của thư viện gấu trúc: 2 và 3. Với kiến thức này, bạn có thể thực hiện phân tích dữ liệu cơ bản với DataFrame. Mặc dù có rất nhiều điểm tương đồng giữa hai phương pháp này, nhưng việc thấy sự khác biệt giữa chúng cho thấy rõ ràng cái nào sẽ sử dụng cho các nhiệm vụ phân tích khác nhau.Trong hướng dẫn này, bạn đã học được cách:
Những phương pháp này là một phần lớn của việc thành thạo phân tích dữ liệu. Họ sẽ giúp bạn xây dựng một nền tảng vững chắc, nơi bạn có thể thực hiện các hoạt động gấu trúc nâng cao hơn. Nếu bạn muốn xem một số ví dụ về việc sử dụng các phương pháp sắp xếp gấu trúc nâng cao hơn, thì tài liệu gấu trúc là một tài nguyên tuyệt vời. Xem bây giờ hướng dẫn này có một khóa học video liên quan được tạo bởi nhóm Python thực sự. Xem cùng với hướng dẫn bằng văn bản để hiểu sâu hơn về sự hiểu biết của bạn: Sắp xếp dữ liệu bằng Python bằng gấu trúc This tutorial has a related video course created by the Real Python team. Watch it together with the written tutorial to deepen your understanding: Sorting Data in Python With Pandas |