擅长:python、mysql、java
<p>您可以使用<code>apply</code>方法按行检查,并使用<code>isin</code>方法创建一个向量,指示该行是否包含<code>bad_words</code>中的任何内容,然后根据返回的逻辑向量对原始数据帧进行子集划分:</p>
<pre><code>data[~data.apply(lambda row: row.isin(bad_words.words).any(), axis = 1)]
#s.no column1 column2 column3 column4
#2 3 word9 word10 word11 word12
#4 5 word17 word18 word19 word20
</code></pre>
<p>对于更新的问题,这里有一个选项可能会根据您的实际数据而起作用:</p>
<pre><code>data[~data.apply(lambda row: bad_words.words.apply(lambda w: row.str.contains(w + "(?=\D)").any()).any(), axis = 1)]
# sno column1 column2 column3 column4
#2 3 aaaword9b aaaword10b aaaword11b aaaword12b
#4 5 aaaword17b aaaword18b aaaword19b aaaword20b
</code></pre>