前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >职场办公|自定义排序

职场办公|自定义排序

作者头像
罗罗攀
发布2019-06-20 09:45:45
5760
发布2019-06-20 09:45:45
举报
01 问题描述

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

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

02 自定义排序

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

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

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

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

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

03 Python解决

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

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

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

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

③ 最后将数据进行合并。

代码语言:javascript
复制
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
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019.06.19 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 01 问题描述
  • 02 自定义排序
  • 03 Python解决
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档