1、如图所示,我们现有数据log_data包含如下四列信息:user_id,post_id,date,act_type(数据中的信息并未按照一定的顺序进行排列)
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、得到结果如图所示
9、可以看到排序后的数据,首先是按照时间进行排序的
10、时间相同时,是按照id由小到大进行排序的