2024-04-26 23:51:57 发布
网友
我试图在使用str.contains('DE')时过滤掉数据帧列'PRODUCT'中的行。DE范围从DE001到DE999。你知道吗
str.contains('DE')
'PRODUCT'
DE
DE001
DE999
如何过滤出DE998和DE999?我一直在尝试这段代码,但似乎想不出一种方法来删除DE998和DE999,而不必在另一行上手动执行。你知道吗
DE998
我正在使用df2[df2['PRODUCT'].str.contains("DE")]。有人能提出一个代码或者一个更有效的方法吗?谢谢你的回答。抱歉,还是个新手。你知道吗
df2[df2['PRODUCT'].str.contains("DE")]
您可以创建两个掩码:一个测试前2个字符,另一个测试整个字符串。对于第二个条件,我们可以使用~来表示负条件。然后将2个布尔掩码与&运算符组合。你知道吗
~
&
mask1 = df2['PRODUCT'].str[:2] == 'DE' mask2 = ~df2['PRODUCT'].isin(['DE998', 'DE999']) res = df2[mask1 & mask2]
您可以创建两个掩码:一个测试前2个字符,另一个测试整个字符串。对于第二个条件,我们可以使用
~
来表示负条件。然后将2个布尔掩码与&
运算符组合。你知道吗相关问题 更多 >
编程相关推荐