为了账号安全,请及时绑定邮箱和手机立即绑定

如何将 OR 与 Pandas 的 .filter 方法一起使用?

如何将 OR 与 Pandas 的 .filter 方法一起使用?

动漫人物 2023-12-05 15:47:47
我有一个 PandaSeries,其索引代表特定组和分配给它的值data = pd.Series(data=[12875.30, 12561.31, 12654.38, 13091.60, 13062.22, 13345.32], index=['A1','A2','B1','B2','C1','C2'])dataA1    12875.30A2    12561.31B1    12654.38B2    13091.60C1    13062.22C2    13345.32我想要实现的是保存 B1、B2、C1 和 C2 索引的数据,并使用 .filter 方法删除其他所有内容。下面的代码有效,但仅限于每次传递 1 个属性的情况:new_data = data.filter(like='B', axis=0) new_data = data.filter(like='C', axis=0)问题是如何使用 or | 将这两行合并为一行。操作员?我尝试了很多选择,例如:new_data = data.filter(like=('B' | 'C'), axis=0) new_data = data.filter((like='B') | (like='C'), axis=0) new_data = (data.filter(like='B', axis=0)) | (data.filter(like='C', axis=0))new_data = ((data.filter(like='B', axis=0)) | (data.filter(like='C', axis=0)))但我想出的一切都会导致错误。将不胜感激任何帮助。谢谢你!
查看完整描述

1 回答

?
慕尼黑5688855

TA贡献1848条经验 获得超2个赞

您可以尝试使用正则表达式:


data.filter(regex='B|C', axis=0)

输出


B1    12654.38

B2    13091.60

C1    13062.22

C2    13345.32


查看完整回答
反对 回复 2023-12-05
  • 1 回答
  • 0 关注
  • 86 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信