折腾:
【未解决】用Python实现解析excel计算业绩统计并打包成可执行文件
期间,此处对于:

中的 时间:去排序
按列里的值排序
参考:
的排序
df1.sort_values(by='two')
去试试
print("before head=%s" % saleDf.head()) saleDf.sort_values(by='时间') print("after head=%s" % saleDf.head())
结果没变化:
before head= 销售员编号 类型 下级账号 销售数量 业绩系数 单价 业绩金额 时间 0 adcandccc555 销售 NaN 10000000.0 8.666666 5.018457 4.349329e+08 2021-03-12 12:15:50 1 yang12345ccc 销售 NaN 40000.0 8.666600 20.084027 6.962409e+06 2021-05-29 10:59:50 2 mo1212121212 销售 NaN 19900.0 8.666666 20.079746 3.463087e+06 2021-05-01 01:00:06 3 xcp555555555 销售 NaN 17100.0 8.666600 20.080157 2.975856e+06 2021-05-04 08:49:21 4 zengjunping1 销售 NaN 12020.0 8.666666 20.078681 2.091663e+06 2021-04-19 20:40:00 after head= 销售员编号 类型 下级账号 销售数量 业绩系数 单价 业绩金额 时间 0 adcandccc555 销售 NaN 10000000.0 8.666666 5.018457 4.349329e+08 2021-03-12 12:15:50 1 yang12345ccc 销售 NaN 40000.0 8.666600 20.084027 6.962409e+06 2021-05-29 10:59:50 2 mo1212121212 销售 NaN 19900.0 8.666666 20.079746 3.463087e+06 2021-05-01 01:00:06 3 xcp555555555 销售 NaN 17100.0 8.666600 20.080157 2.975856e+06 2021-05-04 08:49:21 4 zengjunping1 销售 NaN 12020.0 8.666666 20.078681 2.091663e+06 2021-04-19 20:40:00
参考:
df = df.sort_values(by=['one'],ascending = True)
然后是:
saleDf = saleDf.sort_values(by='时间')

就可以了。
后记:
注意到,此处index是row的index,也变化了:
before head= 销售员编号 类型 下级账号 销售数量 业绩系数 单价 业绩金额 时间 0 adcandccc555 销售 NaN 10000000.0 8.666666 5.018457 4.349329e+08 2021-03-12 12:15:50 1 yang12345ccc 销售 NaN 40000.0 8.666600 20.084027 6.962409e+06 2021-05-29 10:59:50 2 mo1212121212 销售 NaN 19900.0 8.666666 20.079746 3.463087e+06 2021-05-01 01:00:06 3 xcp555555555 销售 NaN 17100.0 8.666600 20.080157 2.975856e+06 2021-05-04 08:49:21 4 zengjunping1 销售 NaN 12020.0 8.666666 20.078681 2.091663e+06 2021-04-19 20:40:00 after head= 销售员编号 类型 下级账号 销售数量 业绩系数 单价 业绩金额 时间 1208 ancdefg12345 销售 NaN 1.0 8.666 0.041174 0.356811 2021-02-20 14:00:00 1212 ancdefg12345 销售 NaN 1.0 8.666 0.041174 0.356811 2021-02-20 14:00:00 1211 ancdefg12345 销售 NaN 1.0 8.666 0.041174 0.356811 2021-02-20 14:00:00 1210 ancdefg12345 销售 NaN 1.0 8.666 0.041174 0.356811 2021-02-20 14:00:00 1209 ancdefg12345 销售 NaN 1.0 8.666 0.041174 0.356811 2021-02-20 14:00:00
即:
之前index是 0 1 2
现在是:1208 1212 1211
【总结】
此处希望根据 时间 这一列去排序,其中值都是时间类型
则代码是:
saleDf = saleDf.sort_values(by='时间')
其中 内部会自动根据时间去排序。
默认是升序。
如果要倒序,加上:
ascending=False
即可。
转载请注明:在路上 » 【已解决】pandas中如何根据值为时间的一列去排序