python pandas 自定义排序问题请教大神

shenycs 2018-05-18 08:26:53
如上传的图中所示,seqno字段反应了程序整个调用过程的先后顺序,对于收集上来的调用日志,想根据seqno字段来排序,排序的规则如图所示,希望能严格按照调用的次序排序。pandas自带的sort方法难以满足要求,请教大神,拜谢。
...全文
991 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zttshenycs 2018-05-20
  • 打赏
  • 举报
回复
引用 4 楼 canhui87 的回复:
import pandas as pd data={'seqno':['1.1','1.2','1.15','1.1.1','1.1.2','1.1.3','1.1.1.1','1.1.2.1']} dt=pd.DataFrame(data) dt2=dt['seqno'].str.split(r'.',expand=True) #分列 dt2=dt2.astype('float') #转成数字型 dt=pd.concat([dt,dt2],axis=1) #合并 dt=dt.sort_values(by=[0,1,2,3],na_position='first') #排序 dt=dt['seqno'] #返回 >>> dt 0 1.1 3 1.1.1 6 1.1.1.1 4 1.1.2 7 1.1.2.1 5 1.1.3 1 1.2 2 1.15
谢谢回答!我是楼主,莫名其妙原账号上不去了,再请教下怎么能把每个层次的(符号 “ . ” 之间的数字)一位数前面添0,两位数保持不变呢,比如1.1.1和1.1.12变成01.01.01和01.01.12,感谢
虫洞 2018-05-20
  • 打赏
  • 举报
回复
import pandas as pd data={'seqno':['1.1','1.2','1.15','1.1.1','1.1.2','1.1.3','1.1.1.1','1.1.2.1']} dt=pd.DataFrame(data) dt2=dt['seqno'].str.split(r'.',expand=True) #分列 dt2=dt2.astype('float') #转成数字型 dt=pd.concat([dt,dt2],axis=1) #合并 dt=dt.sort_values(by=[0,1,2,3],na_position='first') #排序 dt=dt['seqno'] #返回 >>> dt 0 1.1 3 1.1.1 6 1.1.1.1 4 1.1.2 7 1.1.2.1 5 1.1.3 1 1.2 2 1.15
shenycs 2018-05-19
  • 打赏
  • 举报
回复
引用 2 楼 虫洞的回复:
import pandas as pd data={'seqno':['1.1','1.2','1.1.1','1.1.2','1.1.3','1.1.1.1','1.1.2.1']} dt=pd.DataFrame(data) dt.sort_values("seqno") 排序后就只这样,有什么满足不了你要求 seqno 0 1.1 2 1.1.1 5 1.1.1.1 3 1.1.2 6 1.1.2.1 4 1.1.3 1 1.2
谢谢大神回复,上面的例子是说明下问题,真实数据比较多,当调用层次深了以后,就不是这样的顺序了,比如有1.1.2和1.1.15,我想要的顺序是当然1.1.2在1.1.15前面,事实是排在后面。能不能自定义排序的方法呢,这个sort_value都是内置的逻辑。
虫洞 2018-05-19
  • 打赏
  • 举报
回复
import pandas as pd data={'seqno':['1.1','1.2','1.1.1','1.1.2','1.1.3','1.1.1.1','1.1.2.1']} dt=pd.DataFrame(data) dt.sort_values("seqno") 排序后就只这样,有什么满足不了你要求 seqno 0 1.1 2 1.1.1 5 1.1.1.1 3 1.1.2 6 1.1.2.1 4 1.1.3 1 1.2
shenycs 2018-05-18
  • 打赏
  • 举报
回复
补充下图,求大神帮忙

37,719

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧