仅当 Pandas DataFrame 列包含新行、非单词时才保留日期值

Keep Date Values Only When a Pandas DataFrame Column Includes New Lines, non-words

我已将以下示例数据集导入到 pd 数据框中。
我的计划是从“有”生成一个看起来像“想要”的输出。
换句话说,我试图仅在日期值与时间分量和一些不必要的非单词混合时才尝试获取日期值。
我试过 datetime.date 但似乎不起作用,因为它只适用于日期时间格式。
我尝试使用几个正则表达式,但它们也删除了连字符并在年、月、日之间留下 space .
解决这个问题的好方法是什么?任何帮助将不胜感激。

have

ID         Date_time  
210        01-01-2016\r\n01:07 PM       
205        01-06-2017\r\n01:10 PM            
...           ...                
1504       ââ¬Å½30-10-2014\r\n01:15 AM      
1544       ââ¬Å½11-10-2018\r\n05:38 AM          

wants

ID         Date_time  
210        2016-01-01      
205        2017-06-01            
...           ...                
1504       2014-10-30
1544       2018-10-11

使用str.extract combined with pandas.to_datetime:

df['Date_time'] = pd.to_datetime(df['Date_time'].str.extract('(\d{2}-\d{2}-\d{4})',
                                 expand=False), format='%d-%m-%Y')
print(df)

# Output
     ID  Date_time
0   210 2016-01-01
1   205 2017-06-01
2  1504 2014-10-30
3  1544 2018-10-11