电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Python CategoricalDtype自定義排序實現原理解析

瀏覽:6日期:2022-07-11 14:10:05

CategoricalDtype自定義排序

當我們的透視表生成完畢后,有很多情況下需要我們對某列或某行值進行排序。排序有很多種方法。例如sort_index及sort_values函數也可以對數據進行排序,這里就不多說了。

對于數值和字母的排序很容易,但是對于中文的排序就有點麻煩了。默認情況下是按照utf-8的編碼來進行排序的但是即使如此也很難滿足我們對漢字排序的要求。所以通過CategoricalDtye可以把數據類型轉成Category類型

然后通過指定參數列表的順序來自定義那個元素先那個元素后,完全取決于你把那個元素放在List的前面,這樣就大大方便了我們對中文排序的操作。

代碼如下:

1. 自動生成DataFrame數據

#%%import pandas as pdfrom datetime import datetimecity =['上海','北京','深圳','杭州','蘇州','青島','大連','齊齊哈爾','大理','麗江', '天津','濟南','南京','廣州','無錫','連云港','張家界']#創建自動從list中選取valuse值的get_list函數#replace=True代表允許選出的元素重復def get_list(items,size=20): return pd.Series(items).sample(n=size,replace=True).to_list()#通過get_list自動生成數據,最終生成一個DataFramedf = pd.DataFrame({ '城市':get_list(city), '倉位':get_list(['經濟艙','商務艙','頭等艙']), '航線':get_list(['單程','往返']), '日期': get_list([datetime(2020,8,1),datetime(2020,8,2), datetime(2020,8,3),datetime(2020,8,4)]), '時間': get_list(['09:00 - 12:00', '13:00 - 15:30', '06:30 - 15:00', '18:00 - 21:00', '20:00 - 23:20', '10:00 - 15:00']), '航空公司': get_list(['東方航空','南方航空','深圳航空','山東航空','中國航空']), '出票數量':get_list([10,15,20,25,30,35,40,45,50,55,60]), })#%%df

結果如下:

Python CategoricalDtype自定義排序實現原理解析

2. 查看數據類型

#%%

df.dtypes

Python CategoricalDtype自定義排序實現原理解析

3. 自定義數據類型(Category)按照指定順序排序,并通過透視表展示數據

#%%#自定義type,以及自定義排序的順序my_type = pd.CategoricalDtype( categories=['頭等艙','商務艙','經濟艙'], ordered=True)df['倉位'] = df['倉位'].astype(my_type) #將指定列轉成自定義的typedf.dtypes#%%#通過透視表統計數據tb = pd.pivot_table( df, index=['城市','倉位','航線','日期','時間'], values='出票數量', aggfunc=sum)tb

先查看數據類型:可以看出倉位的數據類型已經從Object變成了category類型了。

Python CategoricalDtype自定義排序實現原理解析

結果為:

Python CategoricalDtype自定義排序實現原理解析

分析上述數據可以看出,我們把倉位按照['頭等艙','商務艙','經濟艙']的順序進行了排序,排序結果也是按照這個順序排列的,成功的滿足了我們對中文列自定義排序的需求。

通過Pivot_table函數更加清晰的對原有數據進行了展示。也可以按照自己的需求展示其中的一部分數據。這樣對數據的清洗及展示變得更加的靈活。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 昆明网络公司|云南网络公司|昆明网站建设公司|昆明网页设计|云南网站制作|新媒体运营公司|APP开发|小程序研发|尽在昆明奥远科技有限公司 | 苏州注册公司_苏州代理记账_苏州工商注册_苏州代办公司-恒佳财税 | 临海涌泉蜜桔官网|涌泉蜜桔微商批发代理|涌泉蜜桔供应链|涌泉蜜桔一件代发 | COD分析仪|氨氮分析仪|总磷分析仪|总氮分析仪-圣湖Greatlake | 无锡网站建设_企业网站定制-网站制作公司-阿凡达网络 | 超声骨密度仪,双能X射线骨密度仪【起草单位】,骨密度检测仪厂家 - 品源医疗(江苏)有限公司 | 烟台条码打印机_烟台条码扫描器_烟台碳带_烟台数据采集终端_烟台斑马打印机-金鹏电子-金鹏电子 | 高楼航空障碍灯厂家哪家好_航空障碍灯厂家_广州北斗星障碍灯有限公司 | 压砖机、液压制砖机、静压砖机、环保砖机生产厂家—杜甫机械 | 贝壳粉涂料-内墙腻子-外墙腻子-山东巨野七彩贝壳漆业中心 | 托盘租赁_塑料托盘租赁_托盘出租_栈板出租_青岛托盘租赁-优胜必达 | 动环监控_机房环境监控_DCIM_机房漏水检测-斯特纽 | 江苏密集柜_电动_手动_移动_盛隆柜业江苏档案密集柜厂家 | 浙江富广阀门有限公司| 无机纤维喷涂棉-喷涂棉施工工程-山东华泉建筑工程有限公司▲ | 国资灵活用工平台_全国灵活用工平台前十名-灵活用工结算小帮手 | 环压强度试验机-拉链拉力试验机-上海倾技仪器仪表科技有限公司 | 立式壁挂广告机厂家-红外电容触摸一体机价格-华邦瀛 | 披萨石_披萨盘_电器家电隔热绵加工定制_佛山市南海区西樵南方综合保温材料厂 | 浙江栓钉_焊钉_剪力钉厂家批发_杭州八建五金制造有限公司 | 打造全球沸石生态圈 - 国投盛世 锂电混合机-新能源混合机-正极材料混料机-高镍,三元材料混料机-负极,包覆混合机-贝尔专业混合混料搅拌机械系统设备厂家 | 广州云仓代发-昊哥云仓专业电商仓储托管外包代发货服务 | 新能源汽车电池软连接,铜铝复合膜柔性连接,电力母排-容发智能科技(无锡)有限公司 | 撕碎机,撕破机,双轴破碎机-大件垃圾破碎机厂家 | 尼龙PA610树脂,尼龙PA612树脂,尼龙PA1010树脂,透明尼龙-谷骐科技【官网】 | 南京蜂窝纸箱_南京木托盘_南京纸托盘-南京博恒包装有限公司 | 期货软件-专业期货分析软件下载-云智赢| 丹佛斯压力传感器,WISE温度传感器,WISE压力开关,丹佛斯温度开关-上海力笙工业设备有限公司 | 风电变桨伺服驱动器-风电偏航变桨系统-深圳众城卓越科技有限公司 | 污泥烘干机-低温干化机-工业污泥烘干设备厂家-焦作市真节能环保设备科技有限公司 | 东莞压铸厂_精密压铸_锌合金压铸_铝合金压铸_压铸件加工_东莞祥宇金属制品 | 加热制冷恒温循环器-加热制冷循环油浴-杭州庚雨仪器有限公司 | 缠膜机|缠绕包装机|无纺布包装机-济南达伦特机械设备有限公司 | 真空泵维修保养,普发,阿尔卡特,荏原,卡西亚玛,莱宝,爱德华干式螺杆真空泵维修-东莞比其尔真空机电设备有限公司 | 智能案卷柜_卷宗柜_钥匙柜_文件流转柜_装备柜_浙江福源智能科技有限公司 | 重庆小面培训_重庆小面技术培训学习班哪家好【终身免费复学】 | SRRC认证|CCC认证|CTA申请_IMEI|MAC地址注册-英利检测 | 东莞市超赞电子科技有限公司 全系列直插/贴片铝电解电容,电解电容,电容器 | 工业用品一站式采购平台|南创工品汇-官网|广州南创 | 炭黑吸油计_测试仪,单颗粒子硬度仪_ASTM标准炭黑自销-上海贺纳斯仪器仪表有限公司(HITEC中国办事处) | nalgene洗瓶,nalgene量筒,nalgene窄口瓶,nalgene放水口大瓶,浙江省nalgene代理-杭州雷琪实验器材有限公司 |