首先 这个函数是对列进行排序的 即对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