我试图匹配Pandas数据帧中包含和不包含特定字符串的行。例如:
import pandas
df = pandas.Series(['ab1', 'ab2', 'b2', 'c3'])
df[df.str.contains("b")]
输出:
0 ab1
1 ab2
2 b2
dtype: object
期望输出:
2 b2
dtype: object
问:有没有一种优雅的表达方式?
df[[df.str.contains("b")==True] and [df.str.contains("a")==False]]
# Doesn't give desired outcome
您可以使用.loc和~索引:
你快到了,你只是语法不太正确,应该是:
如果有很多条件要应用,另一种可能更干净的方法是将过滤器与reduce或循环链接在一起:
或者:
或者使用regex:
相关问题 更多 >
编程相关推荐