擅长:python、mysql、java
<p>这里的问题是,列表理解将很难将列中的值重新分配给数据帧。在任何情况下,您都可以使用它重新创建数据帧,但列表理解本身无法做到这一点:</p>
<pre><code>df = pd.DataFrame({'Date_1':['2020-05-01','2020-06-02','AAA'],
'Date_2':['19990201','20000101','20051012']})
</code></pre>
<p>原始数据帧:</p>
<pre><code> Date_1 Date_2
0 2020-05-01 19990201
1 2020-06-02 20000101
2 AAA 2005101
</code></pre>
<p>提议的解决办法:</p>
<pre><code>pd.DataFrame([pd.to_datetime(df[x],errors='coerce',infer_datetime_format=True) for x in df]).T
</code></pre>
<p>输出:</p>
<pre><code> Date_1 Date_2
0 2020-05-01 1999-02-01
1 2020-06-02 2000-01-01
2 NaT 2005-10-12
</code></pre>