Pandas:如果不是日期时间则删除行

Tox*_*Tox 1 python datetime date dataframe pandas

我有一个数据框,其中包含带有日期的列。但是,日期戳可能不正确,例如以下带有“blabla”的数据。

import pandas as pd 
dates = pd.DataFrame(data={'Date':['2015-01-01' , '2015-02-01', '2015-03-01' , '2015-04-01', '2015-05-01' , '2015-06-01', 'blabla']})
dates
Run Code Online (Sandbox Code Playgroud)

我想将日期列转换为日期时间,并在日期列不正确时删除每一行。

for x in range(len(dates)):
    dates['Date'].iloc[x] = pd.to_datetime(dates['Date'].iloc[x], format='%Y-%m-%d')
Run Code Online (Sandbox Code Playgroud)

到目前为止,我可以将列转换为日期时间,但是有什么方法可以删除日期戳不正确的行吗?提前谢谢了!

Flo*_*oor 6

强制错误并删除,即:

dates['Date'] = pd.to_datetime(dates['Date'],errors='coerce')
dates.dropna(inplace=True)
Run Code Online (Sandbox Code Playgroud)