擅长:python、mysql、java
<p>传递<code>errors='coerce'</code>,然后<code>dropna</code>行<code>NaT</code>:</p>
<pre><code>df_cons['YYYYMM'] = pd.to_datetime(df_cons['YYYYMM'], format='%Y%m', errors='coerce').dropna()
</code></pre>
<p>duff month值将转换为<code>NaT</code>值</p>
<pre><code>In[36]:
pd.to_datetime('201613', format='%Y%m', errors='coerce')
Out[36]: NaT
</code></pre>
<p>或者你可以在转换之前过滤掉它们</p>
<pre><code>df_cons['YYYYMM'] = pd.to_datetime(df_cons.loc[df_cons['YYYYMM'].str[-2:] != '13','YYYYMM'], format='%Y%m', errors='coerce')
</code></pre>
<p>虽然这可能会导致对齐问题,因为返回的序列需要相同的长度,所以传递<code>errors='coerce'</code>是一个更简单的解决方案</p>