最新消息:

Pandas排序,按照指定顺序自定义排序

IT技术 ipcpu 36浏览 0评论

Pandas排序,按照指定顺序自定义排序.md

Pandas的sort_index和sort_values

我们知道pandas有sort_index和sort_values两个方法进行排序,我们通过案例来回顾下

>>> datalist = [{'name': 'PC', 'value': 0.38}, {'name': 'PAD', 'value': 0.13}, {'name': 'PHONE', 'value': 0.49 }]
>>> df = pd.DataFrame(datalist)
>>> print(df)
0     PC   0.38
1    PAD   0.13
2  PHONE   0.49

>>> print(df.sort_values(by=['value', 'name'], ascending=False))
    name  value
2  PHONE   0.49
0     PC   0.38
1    PAD   0.13

>>> newdf= df.set_index('name')
>>> print(newdf)
       value
name        
PC      0.38
PAD     0.13
PHONE   0.49

>>> print(newdf.sort_index(ascending=False))
       value
name        
PHONE   0.49
PC      0.38
PAD     0.13

但是在实际使用中,我们想要按照一些特定的顺序来进行排序,可以尝试如下的方法

>>> sort_list = ['PC', 'PHONE', 'PAD']
>>> print(newdf.loc[sort_list])
       value
name        
PC      0.38
PHONE   0.49
PAD     0.13

等等,这个loc是排序么?不是哈,这个是取出特定行。但确实是实现了自定义排序。

转载请注明:IPCPU-网络之路 » Pandas排序,按照指定顺序自定义排序

发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址