sts2358
2018-08-17 08:54
采纳率: 0%
浏览 1.9k

pandas.dataframe 排序

对dataframe所有的行排序,
PS:不是指定行排序........

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • threenewbee 2018-08-17 09:17

    你说的是所有列?排序默认就是全部行啊。

    df.sort_values(by=['列名1','列名2'])

    注意,这里是先按照第一列排序,如果第一列相同,再按照第二列排列

    评论
    解决 无用
    打赏 举报
  • sts2358 2018-08-17 14:39

    1/默认的是什么。by=None吗
    2/如果只希望排序的列改变,其他列不做改变,怎么做

    评论
    解决 无用
    打赏 举报
  • threenewbee 2018-08-17 16:07

    你的意思是割裂每一行?比如
    6 8
    3 2
    4 6
    1 5
    排序后成为
    1 8
    3 2
    4 6
    6 5
    这样么?

    评论
    解决 无用
    打赏 举报
  • XuRiHongFeng 2018-08-20 03:10

    LZ可以先将dataframe转换成array,对array进行按行排序,然后再把array转回dataframe
    import pandas as pd

    frame=pd.DataFrame([[2,4,1,5],[3,1,4,5],[5,1,4,2]])
    array = frame.values
    array.sort(axis=1)
    frame2 = pd.DataFrame(array)

    图片说明

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题