根據條件對數據集排序(sorting)也是一種重要的內置運算。要對行或列索引進行排序(按字典順序),
可使用sort_index 方法, 它將返回一個已排序的新對象:

而DataFrame, 則可以根據任意一個軸上的索引進行排序:

降序
數據默認是按照升序排序的, 但也可以安裝降序排序

按值排序

如果有缺失值呢

求唯一值排序和頻率排序

Dataframe指定某列的值進行排序,by選項

那么如果多個呢?

排名
排名(ranking ) 跟排序關系密切, 且它會增設一個排名值(從1開始, 一直到數組中有效數據的數量)。
它跟numpy.argsort產生的間接拍下索引差不多, 只不過它可以根據某種規則破壞平級關系。接下來介紹Series和Dataframe 的rank方法。
默認情況下, rank是通過”為各組分配一個平均排名“的方式破壞平級關系的。

降序



groupby方法
import pandas as pd df = pd.DataFrame({'性別' : ['男', '女', '男', '女', '男', '女', '男', '男'], '成績' : ['優秀', '優秀', '及格', '差', '及格', '及格', '優秀', '差'], '年齡' : [15,14,15,12,13,14,15,16]}) GroupBy=df.groupby("性別")
GroupBy.iter()
GroupBy對象是一個迭代對象,每次迭代結果是一個元組,元組的第一個元素是該組的名稱(就是groupby的列的元素名稱),第二個元素是該組的具體信息,是一個數據框,索引是以前的數據框的總索引
for name,group in GroupBy: print(name) print(group) 女 年齡 性別 成績 1 14 女 優秀 3 12 女 差 5 14 女 及格 男 年齡 性別 成績 0 15 男 優秀 2 15 男 及格 4 13 男 及格 6 15 男 優秀 7 16 男 差
groupby還有其他子方法,需要的話自己在百度吧
來個例子, groupby + apply + sortValues的例子
data.groupby('customer_id')['repayment_date'].apply(lambda x:x.sort_values(ascending=False)).reset_index()
