我有一个 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
添加回答
举报
0/150
提交
取消