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

python數(shù)據(jù)分析之DateFrame數(shù)據(jù)排序和排名方式

 更新時間:2022年05月12日 09:15:33   作者:柳小蔥  
這篇文章主要介紹了python數(shù)據(jù)分析之DateFrame數(shù)據(jù)排序和排名方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

1.數(shù)據(jù)排序

DataFrame.sort_values(by,axis=0,ascending=True,inplace=False,kind="quicksort",na_position="last",ignore_index=False)
"""
by:要排序的名稱列表
axis:軸,0表示行,1表示列
ascending:升序或者降序排列,默認是True,升序
inplace:是否直接在數(shù)據(jù)上修改,True為直接修改df,False為副本
kind:指定排序算法,
na_position:空值(NaN)的位置,值為first空值在數(shù)據(jù)開頭,值為last空值在數(shù)據(jù)最后。
ignore_index:布爾值,是否忽略索引,值為True標記索引(從0開始順序的整數(shù)值),F(xiàn)alse則忽略索引
"""

2.按某列降序排序

import pandas as pd
exelFile="C:\\Users\\Administrator\\Desktop\\python數(shù)據(jù)分析Code\\Code\\03\\46\\mrbook.xlsx"
df=pd.DataFrame(pd.read_excel(exelFile))
pd.set_option('display.max_rows',1000)#設置展示最高行數(shù)
pd.set_option('display.max_columns',1000)#設置展示最高列數(shù)
pd.set_option('display.unicode.east_asian_width',True)
pd.set_option("display.unicode.ambiguous_as_wide",True)
#按“銷量”列降序排序
df1=df.sort_values(by="銷量",ascending=False)
print(df1)

結(jié)果如圖所示:

3.按多列升降序排列

#先按照圖書名稱降序排列,再按照銷量降序排列
df2=df.sort_values(by=["圖書名稱","銷量"])

4.對統(tǒng)計結(jié)構(gòu)排序

將類別分組并統(tǒng)計總銷量降序排列。

df3=df.groupby(["類別"])["銷量"].sum().reset_index()
df4=df3.sort_values(by="銷量",ascending=False)
print(df4)

結(jié)構(gòu)如下:

5.數(shù)據(jù)排名

DataFrame.rank(axis-0,method="average",numeric_only=None,na_option="keep",ascending=True,,pct=False)
"""
axis:軸,0表示行,1表示列
method:表示在相同值的情況下所使用的排序方法,參數(shù)如下:average:默認值,平均值排名;min:最小值排名;max:最大值排名;first:按第一次出現(xiàn)的順序排列;dense:密集排序,類似于最小值排序,,但排名每次只增加1,相同排名的數(shù)據(jù)只只占據(jù)一個名詞。
numeric_only:對于DataFrame,如果設置值為True,并只對數(shù)字列進行排序。
ascending:升序或者降序排列,默認值為True
pct:布爾值,是否以百分比形式返回排名,默認值為False
"""

實例:

對銷量相同的產(chǎn)品,按照順序排名的平均值進行平均排名

#先排序
df=df.sort_values(by="銷量",ascending=False)
#按照順序排名的平均值進行平均排名
df["順序排名"]=df["銷量"].rank(ascending=False)

這里兩個數(shù)銷量相同,分別為3和4名,取平均值為3.5

對銷量相同的產(chǎn)品,按照在原表中出現(xiàn)的順序進行排名

#先排序
df=df.sort_values(by="銷量",ascending=False)
df["順序排名"]=df["銷量"].rank(method="first",ascending=False)

結(jié)果如下:很正常的結(jié)果

對銷量相同的產(chǎn)品,按照順序排名并取最小值最為排名

#先排序
df=df.sort_values(by="銷量",ascending=False)
df["順序排名"]=df["銷量"].rank(method="min",ascending=False)

排名如下:相同數(shù)量的都按照最小排名填寫

對銷量相同的產(chǎn)品,按照順序排名并取最大值最為排名

#先排序
df=df.sort_values(by="銷量",ascending=False)
df["順序排名"]=df["銷量"].rank(method="max",ascending=False)

排名如下:相同數(shù)量的都按照最大排名填寫

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

最新評論

衡山县| 饶阳县| 许昌县| 彭水| 中西区| 宜宾市| 临武县| 北辰区| 双柏县| 封开县| 凤台县| 和静县| 伊金霍洛旗| 大英县| 凌海市| 深圳市| 台中市| 原阳县| 永州市| 湘乡市| 晋宁县| 西华县| 玉环县| 怀来县| 苍溪县| 高淳县| 尼勒克县| 乌拉特前旗| 徐水县| 社旗县| 安多县| 绥芬河市| 吉安市| 饶河县| 六安市| 黔西| 随州市| 瑞丽市| 安溪县| 台江县| 崇文区|