Lập chỉ mục lại trong khung dữ liệu python
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 khi sử dụng pandas là nó có thể xử lý một lượng lớn dữ liệu và cung cấp khả năng thao tác dữ liệu hiệu suất cao Show
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 DataFrameĐến cuối hướng dẫn này, bạn sẽ biết cách
Để làm theo hướng dẫn này, bạn sẽ cần có hiểu biết cơ bản về DataFrames của gấu trúc và một số thông tin quen thuộc với Tiền thưởng miễn phí. Nhấp vào đây để nhận Bảng cheat Python và tìm hiểu kiến thức cơ bản về Python 3, như làm việc với các kiểu dữ liệu, từ điển, danh sách và hàm Python Bắt đầu với phương pháp sắp xếp PandasXin nhắc lại, DataFrame là cấu trúc dữ liệu có các trục được gắn nhãn cho cả hàng và cột. Bạn có thể sắp xếp DataFrame theo giá trị hàng hoặc cột cũng như theo chỉ mục hàng hoặc cột Cả hàng và cột đều có các chỉ mục, là các biểu diễn bằng số về vị trí của dữ liệu trong DataFrame 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 của DataFrame. Theo mặc định, số chỉ mục bắt đầu từ số không. Bạn cũng có thể gán chỉ mục của riêng mình theo cách thủ công Loại bỏ các quảng cáoChuẩ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) tổng hợp trên các phương tiện được sản xuất từ năm 1984 đến 2021. Bộ dữ liệu tiết kiệm nhiên liệu của EPA rất 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, từ loại dữ liệu văn bản đến số. Tập dữ liệu có tổng cộng tám mươi ba cột Để làm theo, bạn sẽ cần 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à Python3. 9. 1 Ghi chú. Toàn bộ bộ dữ liệu tiết kiệm nhiên liệu là khoảng 18 MB. Việc đọc toàn bộ tập dữ liệu vào bộ nhớ có thể mất một hoặc hai phút. Việc giới hạn số lượng hàng và cột sẽ giúp cải thiện hiệu suất nhưng vẫn sẽ mất vài giây trước khi dữ liệu được tải xuống Đối với mục đích phân tích, bạn sẽ xem dữ liệu MPG (dặm trên gallon) trên các phương tiện theo kiểu dáng, kiểu dáng, năm và các thuộc tính phương tiện khác. Bạn có thể chỉ định cột nào sẽ đọc vào DataFrame của mình. Đối với hướng dẫn này, bạn sẽ chỉ cần một tập hợp con của Dưới đây là các lệnh để đọc các cột có liên quan của tập dữ liệu tiết kiệm nhiên liệu vào DataFrame và để hiển thị năm hàng đầu tiên >>>
Bằng cách gọi 9 bằng URL tập 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 nhận nhanh về dữ liệu, bạn có thể chỉ định số lượng hàng sẽ tải bằng cách sử dụng ____________0Là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 DataFrame dọc theo một trong hai 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 DataFrame theo giá trị của một hoặc nhiều cộtHình trên cho thấy kết quả của việc sử dụng 2 để sắp xếp các hàng của 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ộtLà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 đang sắp xếp DataFrame dựa trên chỉ mục hàng hoặc tên cột của nó, chứ không phải theo giá trị trong các hàng hoặc cột nàyChỉ mục hàng của DataFrame được viền màu xanh lam trong hình trên. Một chỉ mục không được coi là một cột và bạn thường chỉ có một chỉ mục hàng. Chỉ số hàng có thể được coi là số hàng, bắt đầu từ số không Sắp xếp khung dữ liệu 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, 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ốcSắ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ố cho phương thức chứa tên của cột mà 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 MPG thành phố dành cho ô tô chỉ sử dụng nhiên liệu>>>
Điều này sắp xếp DataFrame của bạn bằng cách sử dụng các giá trị cột từ 0, trước tiên hiển thị các phương tiện có MPG thấp nhất. Theo mặc định, 2 sắp xếp dữ liệu của bạn theo thứ tự tăng dần. Mặc dù bạn không chỉ định tên cho đối số mà bạn đã chuyển đến 2, nhưng bạn thực sự đã sử dụng tham số 4 mà bạn sẽ thấy trong ví dụ tiếp theoLoại bỏ các quảng cáoThay đổ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>>>
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 theo 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 nằm ở hàng đầu tiênChọn thuật toán sắp xếpThật tốt khi lưu ý rằng pandas 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 khả dụng 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 Thuật toán sắp xếp trong PythonThuậ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 thuật toán này thành 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 đánh dấu, 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àGhi chú. Trong gấu trúc, 0 bị bỏ qua khi bạn sắp xếp trên nhiều cột hoặc nhãnKhi bạn sắp xếp nhiều bản ghi có cùng khóa, 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 đó, việc sử dụng thuật toán sắp xếp ổn định là cần thiết nếu bạn dự định thực hiện nhiều loại Sắp xếp khung dữ liệu của bạn trên nhiều cộtTrong phân tích dữ liệu, bạn thường muốn sắp xếp dữ liệu của mình dựa trên giá trị của nhiều cột. Hãy tưởng tượng bạn có một tập dữ liệu với tên và họ của mọi người. Sẽ rất hợp lý khi sắp xếp theo họ và sau đó là tên, để những người có cùng họ được sắp xếp theo thứ tự bảng chữ cái theo tên của họ Trong ví dụ đầu tiên, bạn đã sắp xếp DataFrame của mình trên một cột có tên là 0. Từ quan điểm phân tích, MPG trong điều kiện thành phố là một yếu tố quan trọng có thể xác định mức độ mong muốn của một chiếc xe hơi. Ngoài MPG trong điều kiện thành phố, bạn cũng có thể muốn xem MPG cho điều kiện đường cao tốc. Để sắp xếp theo hai khóa, bạn có thể chuyển danh sách tên cột tới 4>>>
Bằng cách chỉ định danh sách các tên cột 0 và 4, bạn sắp xếp DataFrame trên hai cột bằng cách sử dụng 2. Ví dụ tiếp theo sẽ giải thích cách chỉ định thứ tự sắp xếp và lý do tại sao điều quan trọng là phải chú ý đến danh sách tên cột bạn sử dụngSắp xếp theo nhiều cột theo thứ tự tăng dầnĐể sắp xếp DataFrame trên nhiều cột, bạn phải cung cấp danh sách tên cột. Ví dụ: để sắp xếp theo 4 và 5, bạn nên tạo danh sách sau rồi chuyển nó cho 2>>>
Bây giờ DataFrame của bạn được sắp xếp theo thứ tự tăng dần bởi 4. Nếu có hai hoặc nhiều nhãn hiệu giống hệt nhau, thì nó được sắp xếp theo 5. Thứ tự các tên cột được chỉ định trong danh sách của bạn tương ứng với cách DataFrame của bạn sẽ được sắp xếpLoại bỏ các quảng cáoThay đổi thứ tự sắp xếp cộtVì bạn đang sắp xếp bằng nhiều cột, nên bạn có thể chỉ định thứ tự sắp xếp các cột của mình. Nếu bạn muốn thay đổi thứ tự sắp xếp logic từ ví dụ trước, thì bạn có thể thay đổi thứ tự tên cột trong danh sách mà bạn chuyển đến tham số 4>>>
Khung dữ liệu của bạn hiện được sắp xếp theo cột 5 theo thứ tự tăng dần, sau đó được sắp xếp theo 4 nếu có hai hoặc nhiều mô hình giống nhau. Bạn có thể thấy rằng việc thay đổi thứ tự các cột cũng thay đổi thứ tự sắp xếp các giá trịSắp xếp theo nhiều cột theo thứ tự giảm dầnCho đến thời điểm này, bạn chỉ sắp xếp theo thứ tự tăng dần trên nhiều cột. Trong ví dụ tiếp theo, bạn sẽ sắp xếp theo thứ tự giảm dần dựa trên các cột 4 và 5. Để sắp xếp theo thứ tự giảm dần, hãy đặt 4 thành 0>>>
Các giá trị trong cột 4 theo thứ tự bảng chữ cái đảo ngược và các giá trị trong cột 5 theo thứ tự giảm dần cho bất kỳ ô tô nào có cùng 4. Với dữ liệu văn bản, sắp xếp phân biệt chữ hoa chữ thường, nghĩa là văn bản viết hoa sẽ xuất hiện đầu tiên theo thứ tự tăng dần và cuối cùng theo thứ tự giảm dầnSắp xếp theo nhiều cột với thứ tự sắp xếp khác nhauBạn có thể tự hỏi liệu có thể sắp xếp bằng cách sử dụng nhiều cột hay không và để các cột đó sử dụng các đối số 4 khác nhau. Với gấu trúc, bạn có thể thực hiện việc này bằng một lệnh gọi phương thức duy nhất. Nếu bạn muốn sắp xếp một số cột theo thứ tự tăng dần và một số cột theo thứ tự giảm dần, thì bạn có thể chuyển danh sách Booleans tới 4Trong ví dụ này, bạn sắp xếp DataFrame của mình theo các cột 4, 5 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 danh sách tên cột tới 4 và danh sách Booleans tới 4>>>
Bây giờ Khung dữ liệu của bạn được sắp xếp theo 4 và 5 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 các ô tô theo thứ tự phân loại và hiển thị những ô tô có MPG cao nhất trước tiênSắp xếp khung dữ liệu của bạn trên chỉ mục của nóTrước khi sắp xếp theo chỉ mục, bạn nên biết chỉ mục đại diện cho điều gì. Một DataFrame có thuộc tính 00, theo mặc định, thuộc tính này là đại diện bằng số cho các vị trí hàng của nó. Bạn có thể coi chỉ mục là số hàng. Nó giúp tra cứu và nhận dạng hàng nhanh chóngSắp xếp theo chỉ số theo thứ tự tăng dầnBạn có thể sắp xếp một 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ẽ sắp xếp lại các hàng trong DataFrame của bạn, do đó, chỉ mục trở nên lộn xộn. Điều này cũng có thể xảy ra khi bạn lọc DataFrame hoặc khi bạn thêm hoặc xóa hàngĐể minh họa việc sử dụng 3, hãy bắt đầu bằng cách tạo một Khung dữ liệu được sắp xếp mới bằng cách sử dụng 2>>>
Bạn đã tạo một DataFrame được sắp xếp bằng nhiều giá trị. Lưu ý cách chỉ mục hàng không theo thứ tự cụ thể. Để đưa DataFrame mới của bạn trở lại thứ tự ban đầu, bạn có thể sử dụng 3>>> 0Bây giờ chỉ số theo thứ tự tăng dần. Cũng giống như 2, đối số mặc định cho 4 trong 3 là 8 và bạn có thể thay đổi thành thứ tự giảm dần bằng cách chuyển 0. Sắp xếp trên chỉ mục không ảnh hưở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 10. Nếu bạn muốn đặt chỉ mục tùy chỉnh bằng cách sử dụng các cột 4 và 5, thì bạn có thể chuyển danh sách tới 10>>> 1Sử dụng phương pháp 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à một hoặc một chỉ số phân cấp. Khung dữ liệu của bạn hiện được lập chỉ mục theo nhiều khóa, bạn có thể sắp xếp khóa này bằng 3>>> 2Trước tiên, bạn chỉ định một chỉ mục mới cho Khung dữ liệu của mình bằng cách sử dụng các cột 4 và 5, sau đó bạn sắp xếp chỉ mục bằng cách sử dụng 3. Bạn có thể đọc thêm về cách sử dụng 10 trong tài liệu về gấu trúcLoại bỏ các quảng cáoSắp xếp theo chỉ mục theo thứ tự giảm dầnĐố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ớ rằng từ việc sắp xếp DataFrame của bạn với 2, bạn có thể đảo ngược thứ tự sắp xếp bằng cách đặt 4 thành 0. Tham số này cũng hoạt động với 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>>> 3Bâ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 DataFrame trên chỉ mục hàng theo mặc địnhKhám phá các khái niệm sắp xếp theo chỉ mục nâng caoCó nhiều trường hợp trong phân tích dữ liệu mà bạn muốn sắp xếp theo chỉ mục phân cấp. Bạn đã thấy cách bạn có thể sử dụng 4 và 5 trong một 14. Đối với tập dữ liệu này, bạn cũng có thể sử dụng cột 31 làm chỉ mụcĐặt cột 31 làm chỉ mục có thể hữu ích trong việc liên kết các bộ dữ liệu liên quan. Ví dụ: EPA cũng sử dụng 31 để đại diện cho ID hồ sơ phương tiện. Điều này liên kết dữ liệu khí thải với dữ liệu tiết kiệm nhiên liệu. Sắp xếp chỉ mục của cả hai bộ dữ liệu trong DataFrames có thể tăng tốc bằng cách sử dụng các phương pháp khác, chẳng hạn như 34. Để tìm hiểu thêm về cách kết hợp dữ liệu trong gấu trúc, hãy xem Kết hợp dữ liệu trong gấu trúc với hợp nhất(),. tham gia () và concat ()Sắp xếp các cột trong DataFrame của bạnBạn cũng có thể sử dụng các nhãn cột của DataFrame để sắp xếp các giá trị hàng. Sử dụng 3 với tham số tùy chọn 36 được đặt thành 37 sẽ sắp xếp Khung dữ liệu theo nhãn cột. Thuật toán sắp xếp được áp dụng cho nhãn trục thay vì dữ liệu thực tế. Điều này có thể hữu ích cho việc kiểm tra trực quan DataFrameLàm việc với DataFrame >>> 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] 36Khi bạn sử dụng 3 mà không chuyển bất kỳ đối số rõ ràng nào, nó sẽ sử dụng 40 làm đối số mặc định. Trục của DataFrame đề cập đến chỉ mục (_______20_______40) hoặc các cột ( 42). Bạn có thể sử dụng cả hai trục để lập chỉ mục và chọn dữ liệu trong DataFrame cũng như để sắp xếp dữ liệuSử dụng nhãn cột để sắp xếpBạn cũng có thể sử dụng các nhãn cột của DataFrame làm khóa sắp xếp cho 3. Đặt 36 thành 37 sắp xếp các cột trong DataFrame của bạn dựa trên nhãn cột>>> 4Các cột trong DataFrame 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 46>>> 5Sử dụng 42 trong 3, bạn đã sắp xếp các cột trong 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 tập dữ liệu khác, chẳng hạn như tập dữ liệu có nhãn cột tương ứng với các tháng trong năm. Trong trường hợp đó, bạn nên sắp xếp dữ liệu của mình theo thứ tự tăng dần hoặc giảm dần theo thángLàm việc với dữ liệu bị thiếu khi sắp xếp trong PandasThông thường, dữ liệu trong thế giới thực có nhiều điểm không hoàn hảo. Mặc dù gấu trúc có một số phương pháp mà 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ố 49Tậ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ị bị thiếu. Để minh họa việc sử dụng 49, trước tiên, bạn cần tạo một số dữ liệu còn thiếu. Đoạn mã sau tạo một cột mới dựa trên cột 51 hiện có, ánh xạ 8 trong đó 51 bằng với 54 và 55 trong đó không>>> 6Bây giờ bạn có một cột mới tên là 56 chứa cả hai giá trị 8 và 55. Bạn sẽ sử dụng cột này để xem tác động của 49 khi bạn sử dụng hai phương pháp sắp xếp. Để tìm hiểu thêm về cách sử dụng 60, bạn có thể đọc Pandas Project. Tạo sổ điểm với Python & PandasHiể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] 49 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 tham số có tên 49, giúp sắp xếp dữ liệu còn thiếu trong cột 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ó 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 đang sắp xếp theo thứ tự tăng dần hay giảm dầnĐây là khung dữ liệu của bạn trông như thế nào khi bạn sắp xếp trên cột có dữ liệu bị thiếu >>> 7Để thay đổi hành vi đó và để dữ liệu bị thiếu xuất hiện đầu tiên trong DataFrame của bạn, bạn có thể đặt 49 thành 66. Tham số 49 chỉ chấp nhận các giá trị 68, là giá trị mặc định và 66. Đây là cách sử dụng 70 trong 2>>> 8Giờ đây, mọi dữ liệu bị thiếu từ các cột bạn đã sử dụng để sắp xếp sẽ được hiển thị ở đầu Khung dữ liệu của bạn. Điều này 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 mình và không chắc liệu có giá trị nào bị thiếu hay không 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] 49 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 49. Khung dữ liệu của bạn thường sẽ không có các giá trị 55 như một phần của chỉ mục, vì vậy tham số này ít hữu ích hơn trong 3. Tuy nhiên, bạn nên biết rằng nếu DataFrame của bạn có 55 trong chỉ mục 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à 49Theo mặc định, tham số này được đặt thành 68, đặt các giá trị 55 ở 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 tiên trong DataFrame của bạn, hãy đặt 49 thành 66Sử dụng các phương pháp sắp xếp để sửa đổi khung dữ liệu của bạnTrong tất cả các ví dụ bạn đã thấy cho đến nay, cả 2 và 3 đều trả về các đối tượng DataFrame khi bạn gọi các phương thức đó. Đó là bởi vì tính năng sắp xếp trong gấu trúc không hoạt động theo mặc định. Nói chung, đây là cách phổ biến 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 giữ nguyên trạng thái của dữ liệu từ khi bạn đọc nó từ tệp của mìnhTuy nhiên, bạn có thể trực tiếp sửa đổi DataFrame gốc bằng cách chỉ định tham số tùy chọn 7 với giá trị là 8. Phần lớn các phương thức pandas 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 90 để sắp xếp DataFrame của bạn tại 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 Tại chỗVới 7 được đặt thành 8, bạn sửa đổi Khung dữ liệu ban đầu, do đó, các phương thức sắp xếp trả về 94. Sắp xếp Khung dữ liệu của bạn theo các giá trị của cột 0 giống 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ả về DataFrame. Đây là bản gốc của 99 trông như thế nào>>> 0Trong đối tượng 99, 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. Khung dữ liệu ban đầu của bạn đã được sửa đổi và các thay đổi sẽ tiếp tục. Nói chung, bạn nên tránh sử dụng 90 để phân tích vì không thể hoàn tác các thay đổi đối với DataFrame của bạnSử 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 3Vì 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, nên bạn có thể sửa đổi lại đối tượng 99 của mình để đưa nó trở lại thứ tự ban đầu. Sử dụng 3 với 7 được đặt thành 8 để sửa đổi Khung dữ liệu>>> 1Bây giờ DataFrame của bạn đã được sửa đổi lại 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ẽ đưa dữ liệu trở lại thứ tự ban đầuNếu bạn đã quen thuộc với các hàm có sẵn của Python là 11 và 12, thì tham số 7 có sẵn trong các phương thức sắp xếp của gấu trúc có thể rất giống nhau. Để biết thêm thông tin, bạn có thể xem Cách sử dụng sorted() và sort() trong PythonLoại bỏ các quảng cáoPhần 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 pandas. 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 nhìn thấy sự khác biệt giữa chúng sẽ giúp bạn biết rõ nên sử dụng phương pháp nào cho các nhiệm vụ phân tích khác nhauTrong hướng dẫn này, bạn đã học cách
Những phương pháp này là một phần quan trọng để 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 để 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ề cách sử dụng phương pháp sắp xếp gấu trúc nâng cao hơn, thì tài liệu về gấu trúc là một nguồn tài nguyên tuyệt vời Đánh dấu là đã hoàn thành Xem ngay Hướng dẫn này có một khóa học video liên quan do nhóm Real Python tạo. Xem nó cùng với hướng dẫn bằng văn bản để hiểu sâu hơn. Sắp xếp dữ liệu bằng Python với gấu trúc 🐍 Thủ thuật Python 💌 Nhận một Thủ thuật Python ngắn và hấp dẫn được gửi đến hộp thư đến của bạn vài ngày một lần. Không có thư rác bao giờ. Hủy đăng ký bất cứ lúc nào. Được quản lý bởi nhóm Real Python Gửi cho tôi thủ thuật Python » Giới thiệu về anh chàng Spencer Spencer là kỹ sư dữ liệu yêu thích Python và tự động hóa. Anh ấy là một lập trình viên Python tự học, làm việc với các nhóm khoa học dữ liệu và xây dựng các ứng dụng chuyên sâu về dữ liệu Mỗi hướng dẫn tại Real Python được tạo bởi một nhóm các nhà phát triển để nó đáp ứng các tiêu chuẩn chất lượng cao của chúng tôi. Các thành viên trong nhóm đã làm việc trong hướng dẫn này là Aldren Bartosz Geir Arne Joanna Gia-cốp Bậc thầy Kỹ năng Python trong thế giới thực Với quyền truy cập không giới hạn vào Python thực Tham gia với chúng tôi và có quyền truy cập vào hàng nghìn hướng dẫn, khóa học video thực hành và cộng đồng các Pythonistas chuyên gia Nâng cao kỹ năng Python của bạn » Chuyên gia Kỹ năng Python trong thế giới thực Tham gia với chúng tôi và có quyền truy cập vào hàng ngàn hướng dẫn, khóa học video thực hành và cộng đồng Pythonistas chuyên gia Nâng cao kỹ năng Python của bạn » Bạn nghĩ sao? Đánh giá bài viết này Tweet Chia sẻ Chia sẻ EmailBài học số 1 hoặc điều yêu thích mà bạn đã học được là gì? Mẹo bình luận. Những nhận xét hữu ích nhất là những nhận xét được viết với mục đích học hỏi hoặc giúp đỡ các sinh viên khác. và nhận câu trả lời cho các câu hỏi phổ biến trong cổng thông tin hỗ trợ của chúng tôi |