擅长:python、mysql、java
<p>你快到了,你只是语法不太正确,应该是:</p>
<pre><code>df[(df.str.contains("b") == True) & (df.str.contains("a") == False)]
</code></pre>
<p>如果有很多条件要应用,另一种可能更干净的方法是将过滤器与reduce或循环链接在一起:</p>
<pre><code>from functools import reduce
filters = [("a", False), ("b", True)]
reduce(lambda df, f: df[df.str.contains(f[0]) == f[1]], filters, df)
#outputs b2
</code></pre>