擅长:python、mysql、java
<p>一个紧凑而快速的方法是</p>
<pre><code>df.columns = [c.strip() for c in df.columns.values.tolist()]
</code></pre>
<hr/>
<p>如果您想使用<code>DataFrame.rename()</code>,那么您实际上需要这样称呼它:</p>
^{pr2}$
<hr/>
<p>或者您当然可以使用同样紧凑和快速(MaxU借用的):</p>
<pre><code>df.columns = df.columns.str.strip()
</code></pre>
<hr/>
<blockquote>
<p>Keep in mind none of the above solutions will work if ANY of the column names are in fact not a string.</p>
</blockquote>
<p>如果任何列名不是字符串,那么理想情况下,您可以将它们全部转换为字符串,这将起作用:</p>
<pre><code>df.columns = [str(i) for i in df.columns.values.tolist()]
</code></pre>
<p>或者,如果您不想将列名转换为字符串(我希望是出于某种好的原因),那么您必须执行以下操作:</p>
<pre><code>df.rename(columns={c: c.strip() for c in df.columns.values.tolist()
if c not in [<list of columns not strings>]}, inplace=True)
</code></pre>