擅长:python、mysql、java
<p>可以使用基于<a href="https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Series.str.match.html" rel="nofollow noreferrer">match</a>的布尔掩码:</p>
<pre><code>import pandas as pd
items = ['data1', 'data3']
df = pd.DataFrame({'A': ['data1|context1', 'data2|context2', 'data3|context3', 'data4|context4']})
mask = df.A.str.match('^(?!{})'.format('|'.join(items)))
result = df[mask]
print(result)
</code></pre>
<p><strong>输出</strong></p>
<pre><code> A
1 data2|context2
3 data4|context4
</code></pre>
<p>语句<code>'^(?!{})'.format('|'.join(items))</code>变为<code>^(?!data1|data3)</code>,这意味着既不以<code>'data1'</code>开始,也不以<code>'data3'</code>开始。如果您喜欢一行,您可以:</p>
<pre><code>result = df.loc[df.A.str.match('^(?!{})'.format('|'.join(items)))]
</code></pre>