如何根据 Python Pandas 中定义的条件将字符串转换为定义格式的日期?

How to convert string to date in defined format based on defined conditions in Python Pandas?

我在 Python Pandas 中有数据框,如下所示:

col1
------
20002211
19980515

如果有关月份的值不在 1-12 范围内,我需要将“col1”中的值替换为 19000102,因为我们有 12 个月:)

然后我需要将这个字符串转换为日期,因此我需要如下:

col1
--------
1900-01-02
1998-05-15

因为第一行是:20002211,月份值为 22,而我们的日历中只有 12 个月。 第二行是正确的

使用 pd.to_dateimeerrors='coerce' 作为参数。

If ‘coerce’, then invalid parsing will be set as NaT.

>>> pd.to_datetime(df['col'], format='%Y%m%d', errors='coerce') \
      .fillna('1900-01-02')

0   1900-01-02
1   1998-05-15
Name: col, dtype: datetime64[ns]