網站首頁 編程語言 正文
1.數據排序
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:是否直接在數據上修改,True為直接修改df,False為副本
kind:指定排序算法,
na_position:空值(NaN)的位置,值為first空值在數據開頭,值為last空值在數據最后。
ignore_index:布爾值,是否忽略索引,值為True標記索引(從0開始順序的整數值),False則忽略索引
"""
2.按某列降序排序
import pandas as pd
exelFile="C:\\Users\\Administrator\\Desktop\\python數據分析Code\\Code\\03\\46\\mrbook.xlsx"
df=pd.DataFrame(pd.read_excel(exelFile))
pd.set_option('display.max_rows',1000)#設置展示最高行數
pd.set_option('display.max_columns',1000)#設置展示最高列數
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)
結果如圖所示:
3.按多列升降序排列
#先按照圖書名稱降序排列,再按照銷量降序排列
df2=df.sort_values(by=["圖書名稱","銷量"])
4.對統計結構排序
將類別分組并統計總銷量降序排列。
df3=df.groupby(["類別"])["銷量"].sum().reset_index()
df4=df3.sort_values(by="銷量",ascending=False)
print(df4)
結構如下:
5.數據排名
DataFrame.rank(axis-0,method="average",numeric_only=None,na_option="keep",ascending=True,,pct=False)
"""
axis:軸,0表示行,1表示列
method:表示在相同值的情況下所使用的排序方法,參數如下:average:默認值,平均值排名;min:最小值排名;max:最大值排名;first:按第一次出現的順序排列;dense:密集排序,類似于最小值排序,,但排名每次只增加1,相同排名的數據只只占據一個名詞。
numeric_only:對于DataFrame,如果設置值為True,并只對數字列進行排序。
ascending:升序或者降序排列,默認值為True
pct:布爾值,是否以百分比形式返回排名,默認值為False
"""
實例:
對銷量相同的產品,按照順序排名的平均值進行平均排名
#先排序
df=df.sort_values(by="銷量",ascending=False)
#按照順序排名的平均值進行平均排名
df["順序排名"]=df["銷量"].rank(ascending=False)
這里兩個數銷量相同,分別為3和4名,取平均值為3.5
對銷量相同的產品,按照在原表中出現的順序進行排名
#先排序
df=df.sort_values(by="銷量",ascending=False)
df["順序排名"]=df["銷量"].rank(method="first",ascending=False)
結果如下:很正常的結果
對銷量相同的產品,按照順序排名并取最小值最為排名
#先排序
df=df.sort_values(by="銷量",ascending=False)
df["順序排名"]=df["銷量"].rank(method="min",ascending=False)
排名如下:相同數量的都按照最小排名填寫
對銷量相同的產品,按照順序排名并取最大值最為排名
#先排序
df=df.sort_values(by="銷量",ascending=False)
df["順序排名"]=df["銷量"].rank(method="max",ascending=False)
排名如下:相同數量的都按照最大排名填寫
原文鏈接:https://liuxiaocong.blog.csdn.net/article/details/115053352
相關推薦
- 2022-03-19 MongoDB數據庫授權認證的實現_MongoDB
- 2022-06-07 Pytorch上下采樣函數之F.interpolate數組采樣操作詳解_python
- 2021-12-01 C++?解決求兩個鏈表的第一個公共結點問題_C 語言
- 2022-08-26 Jquery實現下拉菜單案例_jquery
- 2023-07-27 修改el-button 的樣式
- 2022-11-14 Go語言文件讀寫操作案例詳解_Golang
- 2023-07-13 css對盒模型的理解
- 2023-05-05 Linux中grep命令詳解_linux shell
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支