python - pandas排序

如果进行简单升降序使用以下功能一般就够用

import pandas as pd
# 数据
df = pd.DataFrame({'A':['a','c','b','d','a'],'B':[5,4,3,2,1]})

# 按照B列值进行排序
# ascending为True代表升序,False为降序
# na_position为First代表空值放在最后,First为放在最前
# ignore_index为True代表忽略索引
# inplace为True代表替换原数据
df.sort_values(by=['B'], ascending=True, na_position='last', ignore_index=True, inplace=True)
# A列升序,B列降序
import pandas as pd
df = pd.DataFrame({'A':['a','c','b','d','a'],'B':[5,4,3,2,1]})
df.sort_values(by=['A','B'], ascending=[True, False], na_position='last', ignore_index=True, inplace=True)

如果需要进行复杂排序可以自定义规则

# 按照B列与3的差的绝对值降序
import pandas as pd
df = pd.DataFrame({'A':['a','c','b','d','a'],'B':[5,4,3,2,1]})
def cmp(x):
    return abs(x-3)
df.sort_values(by=['B'], key=cmp, ascending=False, ignore_index=True, inplace=True)
posted @   wstong  阅读(14)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示