標題 | 詳情 |
---|---|
作者簡介 | 愚公搬代碼 |
頭銜 | 華為云特約編輯,華為云云享專家,華為開發者專家,華為產品云測專家,CSDN博客專家,CSDN商業化專家,阿里云專家博主,阿里云簽約作者,騰訊云優秀博主,騰訊云內容共創官,掘金優秀博主,亞馬遜技領云博主,51CTO博客專家等。 |
近期榮譽 | 2022年度博客之星TOP2,2023年度博客之星TOP2,2022年華為云十佳博主,2023年華為云十佳博主,2024年華為云十佳博主等。 |
博客內容 | .NET、Java、Python、Go、Node、前端、IOS、Android、鴻蒙、Linux、物聯網、網絡安全、大數據、人工智能、U3D游戲、小程序等相關領域知識。 |
歡迎 | ??點贊、?評論、?收藏 |
文章目錄
- ??前言
- ??一、DataFrame的數據排序
- ??1.數據排序整理
- ??1.1 `sort_values` 方法概述
- ??1.2 參數詳解
- ??1.3 排序場景與實例
- ??1.3.1 單列排序
- ??1.3.2 多列排序
- ??1.3.3 統計結果排序
- ??1.3.4 按行排序
- ??1.4 注意事項
- ??2.數據排名整理
- ??2.1 `rank` 方法概述
- ??2.2 參數詳解
- ??2.3 排名規則與實例
- ??2.3.1 順序排名 (`method='first'`)
- ??2.3.2 平均排名 (`method='average'`)
- ??2.3.3 最小值排名 (`method='min'`)
- ??2.3.4 最大值排名 (`method='max'`)
- ??2.3.5 密集排名 (`method='dense'`)
??前言
在數據分析的過程中,數據的排序是一個不可或缺的環節。無論是在探索性數據分析中了解數據分布,還是在準備數據可視化時展示清晰的趨勢,掌握如何對DataFrame中的數據進行有效排序都是至關重要的。Pandas庫為我們提供了強大的排序功能,使得這一過程簡單而高效。
本文將深入探討DataFrame的數據排序,包括按單列或多列排序的技巧、升序和降序的設置、以及如何處理缺失值對排序結果的影響。我們將通過具體示例,幫助你快速掌握這些操作,提升數據處理的靈活性和效率。
??一、DataFrame的數據排序
??1.數據排序整理
??1.1 sort_values
方法概述
DataFrame.sort_values()
是 Pandas 中用于數據排序的核心方法,功能類似 SQL 的 ORDER BY
。支持按行/列排序,語法如下:
DataFrame.sort_values(by, axis=0, ascending=True, inplace=False, kind='quicksort', na_position='last', ignore_index=False)
??1.2 參數詳解
參數 | 說明 |
---|---|
by | 排序依據的列名或列名列表 |
axis | 排序軸:0 按行排序(默認),1 按列排序 |
ascending | 排序順序:True 升序(默認),False 降序;多列可用布爾列表指定 |
inplace | 是否原地修改:False 返回新對象(默認),True 直接修改原對象 |
kind | 排序算法:quicksort (默認)、mergesort 、heapsort |
na_position | 缺失值位置:last 末尾(默認),first 開頭 |
ignore_index | 是否重置索引:False 保留原索引(默認),True 生成新索引(0~n-1) |
??1.3 排序場景與實例
??1.3.1 單列排序
場景:按指定列(如“銷量”)降序排序
代碼:
import pandas as pd
excelFile = 'mrbook.xlsx'
df = pd.DataFrame(pd.read_excel(excelFile))
#設置數據顯示的列數和寬度
pd.set_option('display.max_columns',500)
pd.set_option('display.width',1000)
#解決數據輸出時列名不對齊的問題
pd.set_option('display.unicode.ambiguous_as_wide', True)
pd.set_option('display.unicode.east_asian_width', True)
print('-------------------------按照一列數據排序-------------------------')
#按“銷量”列降序排序
df=df.sort_values(by='銷量',ascending=False)
print(df)
??1.3.2 多列排序
場景:按多列優先級排序(如先“圖書名稱”降序,再“銷量”降序)
代碼:
import pandas as pd
excelFile = 'mrbook.xlsx'
df = pd.DataFrame(pd.read_excel(excelFile))
#設置數據顯示的列數和寬度
pd.set_option('display.max_columns',</