经过多方查找原因,动手实践,这个问题貌似没有帖子仔细进行解释,那这是为什么筛选不出来数据呢,加了括号就可以,可能有同学一下子就明白了,
运算符的顺序
,对,位运算符
&
的优先级 高于 比较运算符
>=
,其实也就是只对后面的条件加上括号即可,但是考虑到逻辑严谨性,
最好把所有条件都括起来
,详情参考这篇文章
Python 3 的运算符及优先级
pandas赋值操作
注意避免
链式操作
导致
SettingwithCopyWarning
,最详细的解释,请参考这篇文章
Pandas 中 SettingwithCopyWarning 的原理和解决方案
#赋值操作
data.loc[(data['A'].str.contains('团队')) & (data['B']>=40),'C']='是'
建议为了使代码规范,在根据条件筛选时就把.loc
带上,防止后期出错
2.链式操作,提示SettingwithCopyWarning
data.loc[(data['A'].str.contains('团队')) & (data['B']>=40)]['C']='是'