当前位置: 首页 > 知识库问答 >
问题:

使用OR语句筛选Pandas数据帧

桂学
2023-03-14
alldata_balance = alldata[(alldata[IBRD] !=0) or (alldata[IMF] !=0)]

ValueError:序列的真值不明确。使用a.empty、a.bool()、a.item()、a.any()或a.all()。

所以我知道我没有正确使用or语句,有没有办法做到这一点?

共有1个答案

谯和煦
2023-03-14

从文档中:

另一个常见的操作是使用布尔向量过滤数据。运算符是:for or、&for and、~for NOT。必须使用括号对其进行分组。

http://pandas.pydata.org/pandas-docs/version/0.15.2/indexing.html#布尔索引

alldata_balance = alldata[(alldata[IBRD] !=0) | (alldata[IMF] !=0)]
 类似资料:
  • 这一组数据在进行groupby前已经完成筛选,但进行groupby聚合后的结果显示是利用未筛选的数据进行的聚合,就像下面的结果,在groupby前已经完成点击量非0过滤,但最后仍存在含0的资源,询问chatGPT给的方案是可能用索引前的数据进行的聚合,重置索引后仍无法解决,请教大牛是否遇到过类似的问题,虽然可以在聚合后重新进行filter过滤,但这个问题搞得很焦灼 代码源文本

  • 中的大多数操作都可以通过操作符链接(、、等)完成,但我发现筛选行的唯一方法是通过普通的括号索引 这是没有吸引力的,因为它要求我在能够过滤变量值之前将赋值给变量。还有更像下面这样的吗?

  • 问题内容: 是否存在OR sqlite语句?我一直在尝试使用google,但是google似乎正在过滤掉 OR 。 例如,如果我想在此表中找到某人(人) 如果名字叫猫王或理查德,我的查询是什么? 我已经尝试过类似的东西,但是总是返回 Eric Sc​​hmidt (我想要的东西正好相反)! 我也尝试过,但是返回表中的 所有 行! 我正在Ubuntu 10.10上使用Python 2.6 sqlit

  • 问题内容: 在Python中使用IF语句时,必须执行以下操作才能使“层叠”正常工作。 检查“等于”时,是否有办法使Python接受多个值?例如, 问题答案: if job in (“mechanic”, “tech”): print “awesome” elif job in (“tool”, “rock”): print “dolt” 括号中的值是一个元组。该运营商检查,看是否右手柄元组内的某处

  • 选择数据表格头部 图标,可以选择表格内字段进行复杂条件筛选; 筛选结果在表格内显示; 选择: 选择图层内字段名称 约束条件: 对选择的该字段指定条件,条件一般有等于、小于、大于等(数值型字段)、或者包含、不包含等(文本型字段)... 约束值:输入需要限制的值 可以支持多种条件同时筛选、或者任选其一条件满足;