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

 时间:2024-10-13 07:36:14

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

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

2、现在我们想按照如下规则对数据进行排列:(1)依据时间先后顺序;(2)在依据时间先后顺序的前提下,按照用户id由小到大进行排序

3、实现上述目的,我们需要使用到sort_values( )函数。具体用法如下:DataFrame.sort_values(by='##', axis=0, ascending=True,inplace=False)

4、第一步:确定所依据列的先后顺序,例如,这里我们是先按照date列,再按照user_id列,痘痉颔湄那么by后面需要数据的就是:['dat髫潋啜缅e', 'user_id'],即:log_data.sort_values(by=['date', 'user_id'], )

5、第二步:我们依据的列索引信息对数据进行重新排序,所以axis后面依旧输入0,即:log_data.sort_values(by=['date', 'user_id'], axis=0, )

6、第三步:输入排序的形式,即按照升序还是降序。这里我们都选择升序,即由小到大,将ascend坡纠课柩ing后面设置为True。造婷用痃log_data.sort_values(by=['date', 'user_id'], axis=0, ascending=[True,True], )

7、第四步:是否替换原始数据,这里我们选择不替换,也就是将inplace设置为False,将替换后的数据另诺蝈胂叟保存给一个新变量(log_data_test):log_data_test =log_data.sort_values(by=['date', 'user_id'], axis=0,ascending=[True,True], inplace=False)

8、得到结果如图所示

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

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

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

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

DataFrame如何根据两列或多列数据进行联合排序
  • pandas教程:[3]DataFrame切片操作
  • 【excel】中的INFO函数如何使用?
  • EXCEL把十进制转成固定位宽的二进制数:[1]1
  • 如何将tkinter的某个组件覆盖在另外组件之上
  • 如何在Matlab中运用正割函数sec
  • 热门搜索
    wps行间距怎么调 怎么查看qq特别关心我的人 沉默的近义词 交通安全常识 知道周长怎么求直径 感冒头疼怎么办 栖息的近义词 喧闹的近义词 明基显示器怎么样 奥迪怎么样