尝试参数 errors=coerce 。 这将返回 NaT 对于文本值。
errors=coerce
NaT
df['newcolumn'] = pd.to_datetime(df['oldcolumn'], format='%Y-%m-%d', errors='coerce').apply(lambda dt: dt.replace(day=1)).dt.date
的 例如 强>
# We have this dataframe ID Date 0 111 03/15/2019 1 133 01/01/2019 2 948 Empty 3 452 02/10/2019 # We convert Date column to datetime df['Date'] = pd.to_datetime(df.Date, format='%m/%d/%Y', errors='coerce')
的 产量 强>
ID Date 0 111 2019-03-15 1 133 2019-01-01 2 948 NaT 3 452 2019-02-10