擅长:python、mysql、java
<p>我认为需要先使用<a href="http://pandas.pydata.org/pandas-docs/stable/generated/pandas.to_datetime.html" rel="nofollow noreferrer">^{<cd1>}</a>和{<cd2>}将非日期时间转换为<code>NaT</code>(它不是字符串,但缺少值):</p>
<pre><code>list1=[{'BatchNumber':'b1','Reason':'r1.1','value':1,'date':pd.datetime(1700,1,1)},
{'BatchNumber':'b1','Reason':'r1.2','value':1,'date':'NA'},
{'BatchNumber':'b2','Reason':'r2','value':2,'date':pd.datetime(2001,3,4)}]
df = pd.DataFrame(list1)
df['date'] = pd.to_datetime(df['date'].astype(str), errors='coerce')
df.loc[df['date'] < '2000-01-01', 'date']=np.nan
#if want check not NaNs
#df.loc[(df['date'].notnull()) & (df['date'] < pd.datetime(2000,1,1)),'date']=np.nan
print (df)
BatchNumber Reason date value
0 b1 r1.1 NaT 1
1 b1 r1.2 NaT 1
2 b2 r2 2001-03-04 2
</code></pre>