Cách sắp xếp khung dữ liệu dựa trên cột trong python
Trong bài viết này, chúng ta sẽ thảo luận về cách sắp xếp các hàng theo thứ tự tăng dần và giảm dần dựa trên các giá trị trong một hoặc nhiều cột. Ngoài ra, cách sắp xếp cột dựa trên giá trị trong hàng bằng DataFrame. sort_values() Show
Khung dữ liệu. sort_values()Trong thư viện Pandas của Python, lớp Dataframe cung cấp một hàm thành viên để sắp xếp nội dung của khung dữ liệu i. e DataFrame.sort_values(by, axis=0, ascending=True, inplace=False, kind='quicksort', na_position='last') Tranh luận
Nó trả về một đối tượng khung dữ liệu được sắp xếp. Ngoài ra, nếu đối số tại chỗ không đúng thì nó sẽ trả về một bản sao được sắp xếp của khung dữ liệu đã cho, thay vì sửa đổi Khung dữ liệu ban đầu. Trong khi đó, nếu đối số tại chỗ là True thì nó sẽ làm cho khung dữ liệu hiện tại được sắp xếp quảng cáo Hãy hiểu bằng một số ví dụ, Trước hết hãy tạo một đối tượng Dataframe i. e Đọc thêm
# List of Tuples students = [ ('Jack', 34, 'Sydney') , ('Riti', 41, 'Delhi' ) , ('Aadi', 16, 'New York') , ('Riti', 22, 'Delhi' ) , ('Riti', 35, 'Delhi' ) , ('Riti', 40, 'Mumbai' ) ] # Create a DataFrame object dfObj = pd.DataFrame(students, columns=['Name', 'Marks', 'City'], index=['b', 'a', 'f', 'e', 'd', 'c']) Nội dung của đối tượng khung dữ liệu đã tạo dfObj là, Name Marks City b Jack 34 Sydney a Riti 41 Delhi f Aadi 16 New York e Riti 22 Delhi d Riti 35 Delhi c Riti 40 Mumbai Bây giờ hãy xem cách sắp xếp khung dữ liệu này theo các cách khác nhau, Sắp xếp các hàng Dataframe dựa trên một cộtĐể sắp xếp tất cả các hàng trong khung dữ liệu trên dựa trên cột 'Tên', chúng ta sẽ chuyển tên cột theo đối số i. e # Sort the rows of dataframe by column 'Name' dfObj = dfObj.sort_values(by ='Name' ) print("Contents of Sorted Dataframe based on a single column 'Name' : ") print(dfObj) đầu ra Contents of Sorted Dataframe based on a single column 'Name' : Name Marks City f Aadi 16 New York b Jack 34 Sydney a Riti 41 Delhi e Riti 22 Delhi d Riti 35 Delhi c Riti 40 Mumbai Như chúng ta có thể thấy ở đầu ra, nó đã sắp xếp tất cả các hàng trong khung dữ liệu dựa trên cột 'Tên'. Bây giờ nếu bạn quan sát sâu, bạn sẽ thấy tên cột cho 4 hàng có cùng giá trị. Bây giờ nếu chúng ta muốn sắp xếp theo cách các giá trị giống nhau ở một cột thì sao, sau đó sử dụng cột thứ 2 để sắp xếp các hàng đó? Sắp xếp các hàng Dataframe dựa trên nhiều cộtĐể sắp xếp tất cả các hàng trong khung dữ liệu trên dựa trên hai cột i. e. 'Name' & 'Marks', chúng ta sẽ chuyển các tên cột dưới dạng danh sách theo đối số i. e dfObj = dfObj.sort_values(by =['Name', 'Marks']) print("Contents of a Sorted Dataframe based on multiple columns 'Name' & 'Marks' : ") print(dfObj) đầu ra Contents of a Sorted Dataframe based on multiple columns 'Name' & 'Marks' : Name Marks City f Aadi 16 New York b Jack 34 Sydney e Riti 22 Delhi d Riti 35 Delhi c Riti 40 Mumbai a Riti 41 Delhi Bây giờ, trước tiên, nó sẽ sắp xếp tất cả các hàng dựa trên cột 'Tên'. Nếu một số hàng có cùng giá trị trong cột 'Tên' thì nó sẽ sắp xếp các hàng đó dựa trên giá trị trong cột 'Marks' Sắp xếp các hàng Dataframe dựa trên các cột theo thứ tự giảm dầnĐể sắp xếp tất cả các hàng trong khung dữ liệu trên dựa trên các cột theo thứ tự giảm dần, hãy chuyển đối số tăng dần với giá trị Sai cùng với đối số i. e # Sort the rows of dataframe by column 'Name' in descending order dfObj = dfObj.sort_values(by ='Name' , ascending=False) print("Contents of Sorted Dataframe based on a column 'Name' in Descending Order : ") print(dfObj) đầu ra ________số 8_______Nó sẽ sắp xếp tất cả các hàng trong Dataframe dựa trên cột 'Tên' theo thứ tự giảm dần Sắp xếp các hàng Dataframe dựa trên một cột trong PlaceĐể sắp xếp tất cả các hàng trong khung dữ liệu trên dựa trên một cột duy nhất, hãy chuyển một đối số bổ sung tại chỗ có giá trị True cùng với các đối số khác i. e # Sort the rows of dataframe by column 'Name' inplace dfObj.sort_values(by='Name' , inplace=True) print("Contents of Sorted Dataframe based on a single column 'Name' inplace: ") print(dfObj) đầu ra # List of Tuples students = [ ('Jack', 34, 'Sydney') , ('Riti', 41, 'Delhi' ) , ('Aadi', 16, 'New York') , ('Riti', 22, 'Delhi' ) , ('Riti', 35, 'Delhi' ) , ('Riti', 40, 'Mumbai' ) ] # Create a DataFrame object dfObj = pd.DataFrame(students, columns=['Name', 'Marks', 'City'], index=['b', 'a', 'f', 'e', 'd', 'c'])0 Nó sẽ sắp xếp tất cả các hàng trong Dataframe dựa trên cột 'Tên' tại chỗ Cho đến bây giờ, chúng tôi đã sắp xếp các hàng trong khung dữ liệu dựa trên các cột, nếu chúng tôi muốn ngược lại thì sao?. e Sắp xếp các cột của Dataframe dựa trên một hoặc nhiều hàngGiả sử chúng ta có một khung dữ liệu gồm các số i. e # List of Tuples students = [ ('Jack', 34, 'Sydney') , ('Riti', 41, 'Delhi' ) , ('Aadi', 16, 'New York') , ('Riti', 22, 'Delhi' ) , ('Riti', 35, 'Delhi' ) , ('Riti', 40, 'Mumbai' ) ] # Create a DataFrame object dfObj = pd.DataFrame(students, columns=['Name', 'Marks', 'City'], index=['b', 'a', 'f', 'e', 'd', 'c'])1 Nội dung của khung dữ liệu là, # List of Tuples students = [ ('Jack', 34, 'Sydney') , ('Riti', 41, 'Delhi' ) , ('Aadi', 16, 'New York') , ('Riti', 22, 'Delhi' ) , ('Riti', 35, 'Delhi' ) , ('Riti', 40, 'Mumbai' ) ] # Create a DataFrame object dfObj = pd.DataFrame(students, columns=['Name', 'Marks', 'City'], index=['b', 'a', 'f', 'e', 'd', 'c'])2 Sắp xếp các cột của Dataframe dựa trên một hàngĐể sắp xếp các cột của khung dữ liệu này dựa trên một hàng, hãy chuyển các nhãn chỉ mục hàng theo đối số và axis=1 i. e # List of Tuples students = [ ('Jack', 34, 'Sydney') , ('Riti', 41, 'Delhi' ) , ('Aadi', 16, 'New York') , ('Riti', 22, 'Delhi' ) , ('Riti', 35, 'Delhi' ) , ('Riti', 40, 'Mumbai' ) ] # Create a DataFrame object dfObj = pd.DataFrame(students, columns=['Name', 'Marks', 'City'], index=['b', 'a', 'f', 'e', 'd', 'c'])3 đầu ra # List of Tuples students = [ ('Jack', 34, 'Sydney') , ('Riti', 41, 'Delhi' ) , ('Aadi', 16, 'New York') , ('Riti', 22, 'Delhi' ) , ('Riti', 35, 'Delhi' ) , ('Riti', 40, 'Mumbai' ) ] # Create a DataFrame object dfObj = pd.DataFrame(students, columns=['Name', 'Marks', 'City'], index=['b', 'a', 'f', 'e', 'd', 'c'])4 Vì vậy, tất cả các cột trong khung dữ liệu được sắp xếp dựa trên một hàng có nhãn chỉ mục 'b' Sắp xếp các cột của Khung dữ liệu theo Thứ tự giảm dần dựa trên một hàngĐể sắp xếp các cột của khung dữ liệu này theo thứ tự giảm dần dựa trên một đối số vượt qua một hàng tăng dần=Sai cùng với các đối số khác i. e # List of Tuples students = [ ('Jack', 34, 'Sydney') , ('Riti', 41, 'Delhi' ) , ('Aadi', 16, 'New York') , ('Riti', 22, 'Delhi' ) , ('Riti', 35, 'Delhi' ) , ('Riti', 40, 'Mumbai' ) ] # Create a DataFrame object dfObj = pd.DataFrame(students, columns=['Name', 'Marks', 'City'], index=['b', 'a', 'f', 'e', 'd', 'c'])5 đầu ra # List of Tuples students = [ ('Jack', 34, 'Sydney') , ('Riti', 41, 'Delhi' ) , ('Aadi', 16, 'New York') , ('Riti', 22, 'Delhi' ) , ('Riti', 35, 'Delhi' ) , ('Riti', 40, 'Mumbai' ) ] # Create a DataFrame object dfObj = pd.DataFrame(students, columns=['Name', 'Marks', 'City'], index=['b', 'a', 'f', 'e', 'd', 'c'])6 Sắp xếp các cột của Dataframe dựa trên nhiều hàngĐể sắp xếp các cột trong khung dữ liệu được sắp xếp dựa trên nhiều hàng có nhãn chỉ mục 'b' & 'c' chuyển danh sách theo đối số và axis=1 i. e |