根據條件對數據集排序(sorting)也是一種重要的內置運算。要對行或列索引進行排序(按字典順序), 數組
可以使用sort_index 方法, 它將返回一個已排序的新對象:app
而DataFrame, 則能夠根據任意一個軸上的索引進行排序:spa
數據默認是按照升序排序的, 但也能夠安裝降序排序3d
若是有缺失值呢code
那麼若是多個呢?對象
排名(ranking ) 跟排序關係密切, 且它會增設一個排名值(從1開始, 一直到數組中有效數據的數量)。blog
它跟numpy.argsort產生的間接拍下索引差很少, 只不過它能夠根據某種規則破壞平級關係。接下來介紹Series和Dataframe 的rank方法。排序
默認狀況下, rank是經過」爲各組分配一個平均排名「的方式破壞平級關係的。索引
降序pandas
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還有其餘子方法,須要的話本身在百度吧
data.groupby('customer_id')['repayment_date'].apply(lambda x:x.sort_values(ascending=False)).reset_index()