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[]
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
- qua. Một chuỗi hoặc danh sách các chuỗi về cơ bản là tên cột hoặc nhãn chỉ mục dựa trên đó việc sắp xếp sẽ được thực hiện
- trục. Nếu trục là 0, thì tên hoặc danh sách tên theo đối số sẽ được coi là tên cột. Mặc định là 0
- Nếu trục là 1, thì tên hoặc danh sách tên theo đối số sẽ được coi là nhãn chỉ mục hàng
- tăng dần. Nếu True sắp xếp tăng dần khác sắp xếp giảm dần. Mặc định là Đúng
- thay thế. Nếu Đúng, hãy thực hiện thao tác tại chỗ trong Dataframe
- na_position. Quyết định vị trí của NaN sau khi sắp xếp i. e. đầu tiên đặt NaN ở đầu, cuối cùng đặt NaN ở cuối
Giá trị mặc định là 'đầu tiê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
- gấu trúc. Áp dụng chức năng cho cột
- Pandas Tutorial #11 - Thuộc tính & phương thức DataFrame
- Kiểm tra xem chuỗi có bắt đầu bằng bất kỳ chuỗi nào từ Danh sách trong Python không
- Cách lấy Kích thước mảng Numpy bằng cách sử dụng numpy. ndarray. hình dạng…
# 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 đó?
Hãy xem làm thế nào để làm điều đó
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àng
Giả 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