温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Python中怎么利用pandas实现按条件选择

发布时间:2021-07-05 15:56:12 来源:亿速云 阅读:546 作者:Leah 栏目:大数据

Python中怎么利用pandas实现按条件选择,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。


numpy.where 方法

Excel 函数中有一个初学者都能马上学会的函数——IF 函数,而在 pandas 中却没有对应效果的方法,这是因为 numpy 已经有了对应的实现—— where。

他能根据条件(true 或者 false) 返回不同的值。由于需要使用 numpy 的方法,因此代码的开始需要导入 numpy 包:

1import pandas as pd
2import numpy as np
 
 

场景

如下学生成绩表:

Python中怎么利用pandas实现按条件选择




  • 高于等于60分算合格,C列打上"是",否则打上"否"

  • 典型的根据条件选择某个值的需求

 

怎么解决

如此简单的需求,Excel 中一个 IF 函数轻松解决:

Python中怎么利用pandas实现按条件选择

  • IF 函数第一参数是条件,第二参数是当第一条件为 true 时的返回,第三参数是当第一条件为 false 时的返回

在使用 numpy.where 方法时的逻辑与上述 Excel 的 IF 函数一致:

Python中怎么利用pandas实现按条件选择

1df = pd.read_excel('data.xlsx', 'sp1')
2df['res'] = np.where(df.成绩>=60,'是','否')
3df
 
  • 行2:np.where 各个参数都能接受 pandas 的列(Series)


 

性能优越

如果你看过本系列文章会发现,怎么当初入门 Python 的时候,学习的各种处理列表、字典的技巧全都用不上了。甚至 if、for 循环都很少用到了。

在 pandas 中其实也可以选择用 Python 的基本语法处理。

比如上面的例子,我们可以用 apply:

Python中怎么利用pandas实现按条件选择

1df = pd.read_excel('data.xlsx', 'sp1')
2
3def ap_where(x):
4    if x >= 60:
5        return '是'
6    return '否'
7
8df['res'] = df.成绩.apply(ap_where)
9df
 

看完上述内容,你们掌握Python中怎么利用pandas实现按条件选择的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI