最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python利用pandas對(duì)數(shù)據(jù)進(jìn)行特定排序

 更新時(shí)間:2024年03月31日 15:58:31   作者:數(shù)據(jù)人阿多  
本文主要介紹了Python利用pandas對(duì)數(shù)據(jù)進(jìn)行特定排序,主要使用?pandas.DataFrame.sort_values?方法,文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

背景

小編最近在處理hive表存儲(chǔ)大小時(shí),需要對(duì)每個(gè)表的大小進(jìn)行排序,因通過 hadoop fs -du -s -h /path/table 命令獲取的數(shù)據(jù)表大小,其結(jié)果是展示為人能直觀理解的大小,例如 1.1T、1.9G、49.6M 等,如果想對(duì)這些表根據(jù)存儲(chǔ)大小進(jìn)行降序排列,利用pandas應(yīng)該如何做呢?

表大小

小編環(huán)境

import sys
print('python 版本:',sys.version.split('|')[0])   
#python 版本: 3.11.5
import pandas as pd
print(pd.__version__)
#2.1.0

測(cè)試數(shù)據(jù)

這里僅列舉10行數(shù)據(jù),進(jìn)行演示,小編真實(shí)的hive表有幾萬(wàn)個(gè)

測(cè)試數(shù)據(jù)

函數(shù)概述

在pandas對(duì)數(shù)據(jù)進(jìn)行排序主要使用 pandas.DataFrame.sort_values 方法

DataFrame.sort_values(by, *, 
                axis=0,   
                ascending=True, 
                inplace=False, 
                kind='quicksort', 
                na_position='last', 
                ignore_index=False, 
                key=None)

參數(shù)解釋:

  • by :str or list of str用于排序的單個(gè)字段 或 多個(gè)字段組成的列表
  • axis:“{0 or ‘index’, 1 or ‘columns’}”, default 0排序時(shí)的軸向,0 表示行向排序(一行一行排序),1表示列向排序(一列一列排序),默認(rèn)是 0,也就是Excel中經(jīng)常使用的排序
  • ascending:bool or list of bool, default True升序、降序,默認(rèn)是升序,也就是True,如果是False,則是降序
  • 注意:該參數(shù)需要和 上面的by參數(shù)要相對(duì)應(yīng)
  • inplace:bool, default False是否原地更新排序的數(shù)據(jù),默認(rèn)是False,表示調(diào)用該方法后,會(huì)返回一個(gè)新的數(shù)據(jù)框
  • kind:{‘quicksort’, ‘mergesort’, ‘heapsort’, ‘stable’}, default ‘quicksort’進(jìn)行排序時(shí),指定的排序算法,默認(rèn)是 quicksort,快速排序算法
  • na_position:{‘first’, ‘last’}, default ‘last’在排序的數(shù)據(jù)中,指定 NaN 的排序位置,默認(rèn)是排在最后
  • ignore_index:bool, default False是否要忽略數(shù)據(jù)的索引,默認(rèn)是 Fasle,不忽略,使用數(shù)據(jù)原本的索引
  • key:callable, optional排序之前使用的函數(shù),該函數(shù)需要是矢量化的,也就是傳入?yún)?shù)是 Series ,返回的結(jié)果也需要為 Series ,該函數(shù)會(huì)逐個(gè)用在被排序的字段上

key參數(shù)

官方文檔:
https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.sort_values.html

完整案例

import pandas as pd
data=pd.read_excel('排序數(shù)據(jù).xlsx',sheet_name='排序')
key_type={'T':1,'G':2,'M':3,'K':4}
data.sort_values(by=['大小2','大小1'],
                 ascending=[True,False],
                 key=lambda col: col.map(key_type) if col.name=='大小2' else col
                )

排序結(jié)果

到此這篇關(guān)于Python利用pandas對(duì)數(shù)據(jù)進(jìn)行特定排序的文章就介紹到這了,更多相關(guān)pandas 特定排序內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家! 

相關(guān)文章

最新評(píng)論

三原县| 和硕县| 民权县| 克什克腾旗| 彰武县| 鲁甸县| 专栏| 公安县| 贡嘎县| 新邵县| 林口县| 靖安县| 剑河县| 亚东县| 周宁县| 津市市| 沙雅县| 克东县| 昌图县| 江山市| 扎兰屯市| 新乡县| 阳西县| 瑞丽市| 马关县| 咸宁市| 枣强县| 南投市| 吉林省| 石家庄市| 青阳县| 师宗县| 孟津县| 凌云县| 平度市| 辽阳县| 凤翔县| 虎林市| 岳普湖县| 江源县| 托克逊县|