广告合作
  • 今日头条

    今日头条

  • 百度一下

    百度一下,你就知道

  • 新浪网

    新浪网 - 提供新闻线索,重大新闻爆料

  • 搜狐

    搜狐

  • 豆瓣

    豆瓣

  • 百度贴吧

    百度贴吧——全球领先的中文社区

  • 首页 尚未审核订阅工具 订阅

    DataFrame如何根据两列或多列数据进行联合排序

    来源:网络收集  点击:  时间:2024-04-28
    【导读】:
    在使用python进行数据预处理时,如何根据两列或多列数据对DataFrame进行联合排序。工具/原料morepythonpandas方法/步骤1/10分步阅读

    如图所示,我们现有数据log_data包含如下四列信息:user_id,post_id,date,act_type(数据中的信息并未按照一定的顺序进行排列)

    2/10

    现在我们想按照如下规则对数据进行排列:(1)依据时间先后顺序;

    (2)在依据时间先后顺序的前提下,按照用户id由小到大进行排序

    3/10

    实现上述目的,我们需要使用到sort_values( )函数。具体用法如下:

    DataFrame.sort_values(by=##, axis=0, ascending=True,inplace=False)

    4/10

    第一步:确定所依据列的先后顺序,例如,这里我们是先按照date列,再按照user_id列,那么by后面需要数据的就是:,即:

    log_data.sort_values(by=, )

    5/10

    第二步:我们依据的列索引信息对数据进行重新排序,所以axis后面依旧输入0,即:

    log_data.sort_values(by=, axis=0, )

    6/10

    第三步:输入排序的形式,即按照升序还是降序。这里我们都选择升序,即由小到大,将ascending后面设置为True。

    log_data.sort_values(by=, axis=0, ascending=, )

    7/10

    第四步:是否替换原始数据,这里我们选择不替换,也就是将inplace设置为False,将墨争良替换后的数据另保存给一个新变量(log_data_test):

    log_data_test =log_data.sort_values(by=, axis=0,ascending=, inplace=False)

    8/10

    得到结果如睡铲图所示

    9/10

    可以看到排序后的数据,首先是按照时间进行排序的

    10/10

    时间相同时,是按照id由小到大进行排序的

    注意事项

    如果选择多个列组合排序,排序方式,即ascending也需要进行相应的多个设置

    PANDAS排序DATAFRAME排序PANDAS多列排序PANDAS两列排序PYTHON
    本文关键词:

    版权声明:

    1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。

    2、本站仅提供信息发布平台,不承担相关法律责任。

    3、若侵犯您的版权或隐私,请联系本站管理员删除。

    4、文章链接:http://www.1haoku.cn/art_614469.html

    相关资讯

    ©2019-2020 http://www.1haoku.cn/ 国ICP备20009186号05-06 00:18:13  耗时:0.036
    0.0358s