【Python学习系列二十二】pandas数据筛选和排序
在Pandas中通過.sort和.loc函數也可以實現這兩 個功能。.sort函數可以實現對數據表的排序操作,.loc函數可以實現對數據表的篩選操作。
1、排序
sort函數主要包含6個參數:columns為要進行排序的列名稱; ascending為排序的方式true為升序,False為降序,默認為true;axis為排序的軸,0表示index,1表示columns,當對數據列進行排序時,axis必須設置為0;inplace默認為False,表示對數據 表進行排序,不創建新實例;Kind可選擇排序的方式,如快速排序等;na_position對NaN值的處理方式,可以選擇first和last兩種方式,默認為last,也就是將NaN值放在排序的結尾。
1)單列數據排序
df.sort(["score"],ascending=True)#升序
df.sort(["score"],ascending=False)#降序
2)多列排序
df.sort(["score","age"],ascending=True)#升序
df.sort(["score","age"],ascending=False)#降序
優先第一列的排序
2、篩選
在篩選功能上Pandas使用的是.loc函數。
案例如下:
ds_0=label_ds.loc[(label_ds["action_type"] == 0) &\(label_ds["u_brand_num"]>0) & (label_ds["u_cat_num"]>0) & \(label_ds["u_ratio"]>0) & (label_ds["u_spu_ratio"]>0),\['u_brand_num','u_cat_num','u_spu_ratio','u_ratio','action_type']].sort(["u_brand_num"],ascending=False)實現多列篩選,并顯示指定列,并以特定列排序。條件中可以與或非。
可以按篩選后條件進行求和和平均,如下:
lc.loc[(lc["grade"] == "B") & (lc["loan_amnt"] > 5000)].loan_amnt.sum() #求和
lc.loc[(lc["grade"] == "B") & (lc["loan_amnt"] > 5000)].loan_amnt.count()#計數
lc.loc[(lc["grade"] == "B") | (lc["loan_amnt"] > 5000)].loan_amnt.mean()#均值
lc.loc[lc["grade"] == "B"].loan_amnt.max()#最大值
lc.loc[lc["grade"] != "B"].loan_amnt.min()#最小值
總結
以上是生活随笔為你收集整理的【Python学习系列二十二】pandas数据筛选和排序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【正一专栏】中国足球不是你想不玩就不玩的
- 下一篇: 分布式大数据sql查询引擎Presto初