国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術(shù)文章
文章詳情頁

Python CategoricalDtype自定義排序?qū)崿F(xiàn)原理解析

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

CategoricalDtype自定義排序

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

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

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

代碼如下:

1. 自動生成DataFrame數(shù)據(jù)

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

結(jié)果如下:

Python CategoricalDtype自定義排序?qū)崿F(xiàn)原理解析

2. 查看數(shù)據(jù)類型

#%%

df.dtypes

Python CategoricalDtype自定義排序?qū)崿F(xiàn)原理解析

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

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

先查看數(shù)據(jù)類型:可以看出倉位的數(shù)據(jù)類型已經(jīng)從Object變成了category類型了。

Python CategoricalDtype自定義排序?qū)崿F(xiàn)原理解析

結(jié)果為:

Python CategoricalDtype自定義排序?qū)崿F(xiàn)原理解析

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

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

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 成年人网站在线观看免费 | 久久九九国产精品怡红院 | 香港三级日本三级三级人妇 | 国产亚洲女在线精品 | 国产精品国产精品国产三级普 | 国产亚洲一区二区三区在线 | 国产免费一级精品视频 | 99久久国产综合精品网成人影院 | 美美女高清毛片视频黄的一免费 | 成人三级做爰在线视频 | 玖玖视频精品 | 一本色道久久99一综合 | 欧美三级成人观看 | 99re7在线精品免费视频 | 国产精品福利午夜一级毛片 | 久久一本一区二区三区 | 成人免费网站久久久 | 久久久久琪琪精品色 | 免费毛片a | 欧美视频在线观看一区二区 | 亚洲成人在线免费视频 | 亚洲美女免费视频 | 一级毛片免费观看不卡的 | 99久久国产综合精品2020 | 欧美日韩一区二区三区视频 | 国产日产久久高清欧美一区 | 男女上下爽无遮挡午夜免费视频 | 久久久免费观看视频 | 精品三级国产一区二区三区四区 | 国产成人精品综合在线 | 亚洲国产欧美精品一区二区三区 | 国产片在线天堂av | 日韩美女强理论片 | 国产精品久久久免费视频 | 成人伊人青草久久综合网 | se94se最新网站 | 欧美老妇69交 | 亚洲日本在线看片 | 99精品国产一区二区三区 | 一级特黄aaa大片在 一级特黄aaa大片在线观看 | 精品欧美高清不卡在线 |