擅长:python、mysql、java
<p>不使用query(),但这将提供您要查找的内容:</p>
<pre><code>df[df.col_name.str.startswith('abc')]
df
Out[93]:
col_name
0 this
1 that
2 abcd
df[df.col_name.str.startswith('abc')]
Out[94]:
col_name
2 abcd
</code></pre>
<p>查询使用pandas<a href="http://pandas.pydata.org/pandas-docs/stable/enhancingperf.html#enhancingperf-eval" rel="noreferrer">eval()</a>,并且在可以使用的范围内受到限制。如果您想使用纯SQL,可以考虑<a href="https://github.com/yhat/pandasql" rel="noreferrer">pandasql</a>使用以下语句:</p>
<pre><code>sqldf("select col_name from df where col_name like 'abc%';", locals())
</code></pre>
<p>或者,如果pandas<code>str</code>方法的问题是列不完全是字符串类型,则可以执行以下操作:</p>
<pre><code>df[df.col_name.str.startswith('abc').fillna(False)]
</code></pre>