如何根据两列参数对pandas中的数据进行排序?

时间:2021-02-27 06:08:06

标签: python pandas

我想根据“日期”列对数据进行排序,但有一些额外的条件。数据如下:

Type Date        col1    
A    02-01-2021  s      
A    03-01-2021  p   
A    01-01-2021  a    
B    03-01-2021  d
B    01-01-2021  f
B    02-01-2021  t
C    03-01-2021  w
C    02-01-2021  x
C    01-01-2021  m

当我在“日期”上应用 sort_values() 函数时,我对输出值进行了排序,但不是根据类型排序的。我得到的输出是:

Type Date        col1    
A    01-01-2021  s      
A    01-01-2021  p   
A    01-01-2021  a    
B    02-01-2021  d
B    02-01-2021  f
B    02-01-2021  t
C    03-01-2021  w
C    03-01-2021  x
C    03-01-2021  m

但是,我希望根据“日期”列对整个数据进行排序,并确保数据也根据其他列进行排序。

预期输出:

Type Date        col1    
A    01-01-2021  a      
A    02-01-2021  s   
A    03-01-2021  p    
B    01-01-2021  f
B    02-01-2021  t
B    03-01-2021  d
C    01-01-2021  m
C    02-01-2021  x
C    03-01-2021  w

2 个答案:

答案 0 :(得分:0)

多列排序的解决方法是


df.sort_values(by=['Date', 'col1'])

答案 1 :(得分:0)

您必须将列表传递给 sort_values()

df.sort_values(by=[‘col1’, ‘col2’])
相关问题