什么?pandas读取出来的数据不能用and进行筛选?

使用pandas读取数据后,想添加约束进行筛选
total_fr_month[total_fr_month[“name”] == i and total_fr_month[“year”] == 2014][“p_jcl”]

出现如下报错:
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().

查阅资料后得知pandas认为or、and不明确需要使用|、&按位操作

修改为
total_fr_month[total_fr_month[“name”] == i & total_fr_month[“year”] == 2014][“p_jcl”]

然后再次报错,哈哈,惊不惊喜,意不意外
TypeError: cannot compare a dtyped [int64] array with a scalar of type [bool]

&两边应该是bool型,然后又修改为&&
毫无疑问,再次报错invalid syntax,python里好像就没有这个东西
然后一想,两边就是bool类型啊!可能是,符号运行顺序问题,加了两个括号
最终版本
total_fr_month[(total_fr_month[“name”] == i) & (total_fr_month[“year”] == 2014)][“p_jcl”]

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值