Marval-C
2018-12-04 13:29
采纳率: 16.7%
浏览 2.9k
已采纳

请问各位pandas中set_values对多列数据进行排序的问题

请问一下各位,这个地方我想对多列同时进行排序,写法按说没有任何问题,可是为什么最后的排序结果只针对by里面的第一个参数,后两列完全没按照我设好的False\True顺序排序呀。。
请问下是为什么,难道是我对sort_values()这个函数对多列进行排序存在误解。。

 frame = pd.DataFrame({'b':[4.,7,-3,2],'a':[0.,1,0,1],'c':[56,32,13.,2]})
frame = frame.sort_values(by = ['b','a','c'],ascending = [True,False,True])
frame
  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • threenewbee 2018-12-04 13:42
    已采纳

    如果问题得到解决,请点我回答左上角的采纳和向上的箭头,谢谢

    图片说明

    多列排序,是指前一列相同的时候。比较后一列,前一列不同,则不管后面,你注意看我的演示。

    好比按年龄、姓名排序(假设都是升序)的意思是,27岁排在26岁后面,都是27岁,老李排在老张前面。但是如果老张25岁,哪怕张比李大,也是老张在前面。

    评论
    解决 无用
    打赏 举报
查看更多回答(1条)

相关推荐 更多相似问题