Panda's
df = df.sort_values[by=['2']]
6 làm công việc.Có nhiều tham số khác nhau mà người ta có thể vượt qua, chẳng hạn như
df = df.sort_values[by=['2']]
7 [bool hoặc danh sách bool]:df = df.sort_values[by=['2']]
7 [bool or list of bool]:Sắp xếp tăng dần so với giảm dần. Chỉ định danh sách cho nhiều đơn đặt hàng sắp xếp. Nếu đây là danh sách các bools, phải khớp với độ dài của BY.
Vì mặc định là tăng dần và mục tiêu của OP là sắp xếp tăng dần, người ta không cần phải chỉ định tham số đó [xem ghi chú cuối cùng bên dưới để giải quyết giảm dần], vì vậy người ta có thể sử dụng một trong các cách sau:default is ascending, and OP's goal is to sort ascending, one doesn't need to specify that parameter [see the last note below for the way to solve descending], so one can use one of the following ways:
Thực hiện hoạt động tại chỗ và giữ cùng một tên biến. Điều này đòi hỏi một người để vượt qua
8 như sau:df = df.sort_values[by=['2']]
df.sort_values[by=['2'], inplace=True] # or df.sort_values[by = '2', inplace = True] # or df.sort_values['2', inplace = True]
Nếu thực hiện thao tác tại chỗ không phải là một yêu cầu, người ta có thể gán thay đổi [sắp xếp] cho một biến:
Với cùng tên của DataFrame gốc,
9 làdf = df.sort_values[by=['2']]
df = df.sort_values[by=['2']]
Với một cái tên khác, chẳng hạn như
0, nhưdf_new = df.sort_values[by=['2']]
df_new = df.sort_values[by=['2']]
Tất cả các hoạt động trước đó sẽ cung cấp đầu ra sau
0 1 2
4 85.6 January 1.0
3 95.5 February 2.0
7 104.8 March 3.0
0 354.7 April 4.0
8 283.5 May 5.0
6 238.7 June 6.0
5 152 July 7.0
1 55.4 August 8.0
11 212.7 September 9.0
10 249.6 October 10.0
9 278.8 November 11.0
2 176.5 December 12.0
Cuối cùng, người ta có thể đặt lại chỉ mục bằng
df_new = df.sort_values[by=['2']]
1, để có đượcdf.reset_index[drop = True, inplace = True]
# or
df = df.reset_index[drop = True]
[Out]:
0 1 2
0 85.6 January 1.0
1 95.5 February 2.0
2 104.8 March 3.0
3 354.7 April 4.0
4 283.5 May 5.0
5 238.7 June 6.0
6 152 July 7.0
7 55.4 August 8.0
8 212.7 September 9.0
9 249.6 October 10.0
10 278.8 November 11.0
11 176.5 December 12.0
Một lớp lót sắp xếp tăng dần và đặt lại chỉ mục sẽ như sau
df = df.sort_values[by=['2']].reset_index[drop = True]
[Out]:
0 1 2
0 85.6 January 1.0
1 95.5 February 2.0
2 104.8 March 3.0
3 354.7 April 4.0
4 283.5 May 5.0
5 238.7 June 6.0
6 152 July 7.0
7 55.4 August 8.0
8 212.7 September 9.0
9 249.6 October 10.0
10 278.8 November 11.0
11 176.5 December 12.0
Notes:
Nếu một người không thực hiện thao tác tại chỗ, việc quên các bước được đề cập ở trên có thể dẫn một [vì người dùng này] không thể có được kết quả dự kiến.
Có những ý kiến mạnh mẽ về việc sử dụng
2. Đối với điều đó, người ta có thể muốn đọc điều này.df_new = df.sort_values[by=['2']]
Một người giả định rằng cột
3 không phải là một chuỗi. Nếu có, người ta sẽ phải chuyển đổi nó:df_new = df.sort_values[by=['2']]
Sử dụng
4df_new = df.sort_values[by=['2']]
df['2'] = pd.to_numeric[df['2']]
Sử dụng
5df_new = df.sort_values[by=['2']]
df['2'] = df['2'].astype[float]
Nếu một người muốn theo thứ tự giảm dần, người ta cần phải vượt qua
6 nhưdescending order, one needs to passdf_new = df.sort_values[by=['2']]
6 asdf_new = df.sort_values[by=['2']]
df = df.sort_values[by=['2'], ascending=False] # or df.sort_values[by = '2', ascending=False, inplace=True] [Out]: 0 1 2 2 176.5 December 12.0 9 278.8 November 11.0 10 249.6 October 10.0 11 212.7 September 9.0 1 55.4 August 8.0 5 152 July 7.0 6 238.7 June 6.0 8 283.5 May 5.0 0 354.7 April 4.0 7 104.8 March 3.0 3 95.5 February 2.0 4 85.6 January 1.0
Sắp xếp theo các giá trị dọc theo một trong hai trục.
Tham số bystr hoặc danh sách strbystr or list of strTên hoặc danh sách các tên để sắp xếp theo.
Nếu trục là 0 hoặc ‘chỉ mục thì có thể chứa các mức chỉ mục và/hoặc nhãn cột.
Nếu trục là 1 hoặc ‘cột thì có thể chứa các cấp cột và/hoặc nhãn chỉ mục.
Trục được sắp xếp.
Sắp xếp tăng dần so với giảm dần. Chỉ định danh sách cho nhiều đơn đặt hàng sắp xếp. Nếu đây là danh sách các bools, phải khớp với độ dài của BY.
inplaceBool, mặc định saibool, default FalseNếu đúng, hãy thực hiện hoạt động tại chỗ.
Kind {‘Quicksort,‘ Mergesort, ‘Heapsort,‘ ổn định}, mặc định ‘QuickSort,{‘quicksort’, ‘mergesort’, ‘heapsort’, ‘stable’}, default ‘quicksort’Lựa chọn phân loại thuật toán. Xem thêm
df_new = df.sort_values[by=['2']]
7 để biết thêm thông tin. Mergesort và ổn định là các thuật toán ổn định duy nhất. Đối với DataFrames, tùy chọn này chỉ được áp dụng khi sắp xếp trên một cột hoặc nhãn.Na_Poseition {’đầu tiên,’ cuối cùng}, mặc định ’cuối cùng{‘first’, ‘last’}, default ‘last’Đặt Nans ở đầu nếu đầu tiên; Cuối cùng đặt Nans vào cuối.
bỏ qua_indexbool, mặc định saibool, default FalseNếu đúng, trục kết quả sẽ được dán nhãn 0, 1,,, n - 1.
Mới trong phiên bản 1.0.0.
KeyCallable, tùy chọncallable, optionalÁp dụng chức năng khóa cho các giá trị trước khi sắp xếp. Điều này tương tự như đối số chính trong hàm
df_new = df.sort_values[by=['2']]
8 tích hợp, với sự khác biệt đáng chú ý là chức năng khóa này nên được vector hóa. Nó sẽ mong đợi một df_new = df.sort_values[by=['2']]
9 và trả về một chuỗi có hình dạng giống như đầu vào. Nó sẽ được áp dụng cho mỗi cột trong bằng cách độc lập.Mới trong phiên bản 1.1.0.
ReturnSdatAframe hoặc không cóDataFrame với các giá trị được sắp xếp hoặc không có nếu
0 1 2
4 85.6 January 1.0
3 95.5 February 2.0
7 104.8 March 3.0
0 354.7 April 4.0
8 283.5 May 5.0
6 238.7 June 6.0
5 152 July 7.0
1 55.4 August 8.0
11 212.7 September 9.0
10 249.6 October 10.0
9 278.8 November 11.0
2 176.5 December 12.0
0.Ví dụ
>>> df = pd.DataFrame[{ ... 'col1': ['A', 'A', 'B', np.nan, 'D', 'C'], ... 'col2': [2, 1, 9, 8, 7, 4], ... 'col3': [0, 1, 9, 4, 2, 3], ... 'col4': ['a', 'B', 'c', 'D', 'e', 'F'] ... }] >>> df col1 col2 col3 col4 0 A 2 0 a 1 A 1 1 B 2 B 9 9 c 3 NaN 8 4 D 4 D 7 2 e 5 C 4 3 F
Sắp xếp theo Col1
df = df.sort_values[by=['2']]
0Sắp xếp theo nhiều cột
df = df.sort_values[by=['2']]
1Sắp xếp giảm dần
df = df.sort_values[by=['2']]
2Đặt NAS lên hàng đầu
df = df.sort_values[by=['2']]
3Sắp xếp với một chức năng chính
df = df.sort_values[by=['2']]
4Sắp xếp tự nhiên với đối số chính, sử dụng gói Natsort.
df = df.sort_values[by=['2']]
5