Python 转换为datetime-查看所有数据引发异常

Python 转换为datetime-查看所有数据引发异常,python,pandas,Python,Pandas,假设我在python和pandas中运行以下行: # Load data data = pd.read_csv('C:/Users/user/Desktop/data.txt',\ keep_default_na=True, sep='\t', na_values='?') # Convert to datetime column data['Date'] = pd.to_datetime(data['Date'], errors='raise', da

假设我在
python
pandas
中运行以下行:

# Load data
data = pd.read_csv('C:/Users/user/Desktop/data.txt',\
                   keep_default_na=True, sep='\t', na_values='?')


# Convert to datetime column
data['Date'] = pd.to_datetime(data['Date'], errors='raise', dayfirst=True)
然而,我希望看到本专栏中所有关于熊猫异常的数据

为此,我写了这样一篇文章:

exceptions = []
for index, row in data.iterrows():

    try:
        row['PICKUP_DT'] = pd.to_datetime(row['PICKUP_DT'], errors='raise', dayfirst=True)

    except:
        exceptions.append(row['PICKUP_DT'])


dataframe = pd.DataFrame({'Exceptions': exceptions})

dataframe.to_csv('C:/Users/user/Desktop/EXCEPTIONS.csv', index=False, na_rep='NA')
有没有更好的办法


实际上,我认为会有一种内置的
pandas
方法来实现这一点。

使用
.loc
获取所有有问题的行,检查
.isnull()
以获得带有
errors='concurve'
的结果。我将
NaN
排除在外,因为
pd.to_datetime
不会引发空值错误

样本数据 代码:
这是一个有趣的想法,谢谢。但是,我不确定它是否比我的效率更高。@PoeteMaudit它不会在行上迭代,所以应该更好。好的,谢谢。(我猜'pd.to_datetime'确实会迭代,但我还没有看到源代码,所以我不知道。)
import pandas as pd
import numpy a np
data = pd.DataFrame({'Date': [np.NaN, '12-03-2019', '001111231', '46-06-1988']})
#         Date
#0         NaN
#1  12-03-2019
#2   001111231
#3  46-06-1988
data.loc[pd.to_datetime(data.Date, errors='coerce', dayfirst=True).isnull()
         & data.Date.notnull(), 'Date']
#2     001111231
#3    46-06-1988
#Name: Date, dtype: object