美文网首页
职场办公|自定义排序

职场办公|自定义排序

作者: 罗罗攀 | 来源:发表于2019-06-19 20:20 被阅读0次
    01 问题描述

    如下图所示,我需要将一级类型按照“采石场 > 工矿用地 > 能源设施 > 旅游设施 > 交通设施 > 养殖场 > 农业用地 > 居民点 > 其他人工设施”这个顺序进行排序。

    显然,通过Excel的普通排序是无法做到的(普通的排序是按字母的顺序进行排序的)。这里就需要自定义排序了。

    02 自定义排序

    Excel自定义排序的操作流程为:

    ① 在Excel选项中,点击高级,找到编辑自定义列表。

    ② 定义自己需要排序的顺序,点击确定即可。

    ③ 选择需要排序的区域,选择“数据 > 排序”。

    ④ 选择依据排序的列,和自定义排序,找到之前定义好的顺序即可完成。

    03 Python解决

    当然,最后还是讲解下如何通过Python解决自定义排序吧。

    在sort_value方法中没找到可以解决的办法,所以采用了最笨的方法。

    ① 读入数据,定义好排序的列表。

    ② 定义空的DataFrame,通过循环过滤数据。

    ③ 最后将数据进行合并。

    import pandas as pd
    
    data = pd.read_excel('测试.xlsx',sheetname='data')
    sort_list = ['采石场','工矿用地','能源设施','旅游设施','交通设施','养殖场','农业用地','居民点','其他人工设施']
    
    new_data = pd.DataFrame({'一级类型':[],
                            '面积':[]})
    
    for i in sort_list:
        new_data = pd.concat([new_data,data[data['一级类型'] == i]])
    
    new_data
    

    相关文章

      网友评论

          本文标题:职场办公|自定义排序

          本文链接:https://www.haomeiwen.com/subject/ydrmxctx.html