【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()#最小值






  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值