python3 中的sort_values函数

首先 这个函数是对列进行排序的 即对values进行排序

单列的大家都明白 这里我们讨论下多列的

举个例子

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],})
print(df)

输出为

  col1  col2  col3
0    A     2     0
1    A     1     1
2    B     9     9
3  NaN     8     4
4    D     7     2
5    C     4     3

则 利用sort_values 

df.sort_values(by=['col1'])
    col1 col2 col3
0   A    2    0
1   A    1    1
2   B    9    9
5   C    4    3
4   D    7    2
3   NaN  8    4

如果两个values呢 

import pandas as pd
import numpy as np
df = pd.DataFrame({
  'col1' : [ 'A', 'E','A','A','A' ,'B', np.nan, 'D', 'C'],
    'col2' : [2, 1, 12, 23, 5,  9, 8, 7, 4],
    'col3':  [0, 11, 14, 18, 28, 9, 4, 2, 3],})
  col1  col2  col3
0    A     2     0
1    E     1    11
2    A    12    14
3    A    23    18
4    A     5    28
5    B     9     9
6  NaN     8     4
7    D     7     2
8    C     4     3

通过函数输出为

import pandas as pd
import numpy as np
df = pd.DataFrame({
  'col1' : [ 'A', 'E','A','A','A' ,'B', np.nan, 'D', 'C'],
    'col2' : [2, 1, 12, 23, 5,  9, 8, 7, 4],
    'col3':  [0, 11, 14, 18, 28, 9, 4, 2, 3],})
            
a=df.sort_values(by=['col1', 'col2'])
print(a)
  col1  col2  col3
0    A     2     0
4    A     5    28
2    A    12    14
3    A    23    18
5    B     9     9
8    C     4     3
7    D     7     2
1    E     1    11
6  NaN     8     4

看出连个values的功能是啥了吗 这里我们多弄了几个A 因为这个函数的意思就是

我先通过

by=['col1', 'col2'] 中的col1进行排序

拍完之后为A B C D E等 

然后再根据col1拍完的顺序排从col2 这里就是如果A B…E排完 在A的前提下在排列col2 即A 排列col2 

B排列col2 一直到E

    原文作者:妖白
    原文地址: https://blog.csdn.net/qq_24753293/article/details/80692679
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞