Hướng dẫn how do you sort specific columns in python? - làm cách nào để bạn sắp xếp các cột cụ thể trong python?

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

    df = df.sort_values(by=['2'])
    
    8 như sau:

    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,

      df = df.sort_values(by=['2'])
      
      9 là

      df = df.sort_values(by=['2'])
      
    • Với một cái tên khác, chẳng hạn như

      df_new = df.sort_values(by=['2'])
      
      0, như

      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ó được

df.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

    df_new = df.sort_values(by=['2'])
    
    2. Đối với điều đó, người ta có thể muốn đọc điều này.

  • Một người giả định rằng cột

    df_new = df.sort_values(by=['2'])
    
    3 không phải là một chuỗi. Nếu có, người ta sẽ phải chuyển đổi nó:

    • Sử dụng

      df_new = df.sort_values(by=['2'])
      
      4

       df['2'] = pd.to_numeric(df['2'])
      
    • Sử dụng

      df_new = df.sort_values(by=['2'])
      
      5

       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

    df_new = df.sort_values(by=['2'])
    
    6 nhưdescending order, one needs to pass
    df_new = df.sort_values(by=['2'])
    
    6 as

     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
    

DataFrame.sort_values ​​(bởi, *, trục = 0, tăng dần = truesort_values(by, *, axis=0, ascending=True, inplace=False, kind='quicksort', na_position='last', ignore_index=False, key=None)[source]#

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 str

Tê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 {0 hoặc ‘index, 1 hoặc‘ cột,}, mặc định 0{0 or ‘index’, 1 or ‘columns’}, default 0

Trục được sắp xếp.

ascendingBool hoặc danh sách bool, mặc định đúngbool or list of bool, default True

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 False

Nế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 False

Nế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'])
0

Sắp xếp theo nhiều cột

df = df.sort_values(by=['2'])
1

Sắ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'])
3

Sắp xếp với một chức năng chính

df = df.sort_values(by=['2'])
4

Sắ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

Làm thế nào để bạn sắp xếp nhiều cột trong Python?

Bạn có thể sắp xếp gấu trúc DataFrame theo một hoặc nhiều (một hoặc nhiều) các cột bằng phương thức sort_values ​​() và bằng cách tăng dần hoặc giảm dần. Để chỉ định đơn đặt hàng, bạn phải sử dụng tài sản Boolean tăng dần; Sai cho giảm dần và đúng cho tăng dần. Theo mặc định, nó được đặt thành true.using sort_values() method and by ascending or descending order. To specify the order, you have to use ascending boolean property; False for descending and True for ascending. By default, it is set to True.

Làm cách nào để sắp xếp một cột trong loạt gấu trúc?

Sắp xếp chuỗi theo thứ tự tăng dần theo mặc định, chức năng pandas sê -ri sort_values () sắp xếp chuỗi theo thứ tự tăng dần.Bạn cũng có thể sử dụng Ascending = True param để chỉ định rõ ràng để sắp xếp theo thứ tự tăng dần.Ngoài ra, nếu bạn có bất kỳ giá trị NAN nào trong chuỗi, nó sẽ sắp xếp bằng cách đặt tất cả các giá trị NAN ở cuối.the pandas series sort_values() function sorts the series in ascending order. You can also use ascending=True param to explicitly specify to sort in ascending order. Also, if you have any NaN values in the Series, it sort by placing all NaN values at the end.

Làm thế nào để bạn sắp xếp một cột theo thứ tự giảm dần trong Python?

Chúng ta có thể sắp xếp nó bằng cách sử dụng DataFrame.hàm sort_index ().Ngoài ra, bạn có thể sắp xếp chỉ mục theo thứ tự giảm dần bằng cách truyền trong Ascending = false Đối số trong hàm trên.passing in the ascending=False the argument in the function above.

Làm thế nào để bạn sắp xếp theo dữ liệu được nhóm trong Python?

Để sắp xếp dữ liệu được nhóm theo thứ tự tăng dần hoặc giảm dần, hãy sử dụng sort_values ().Phương thức kích thước () được sử dụng để có được kích thước DataFrame.use sort_values(). The size() method is used to get the dataframe size.