【问题标题】:Pandas: Drop row if it is not a date time熊猫:如果不是日期时间,则删除行
【发布时间】:2018-06-04 09:49:41
【问题描述】:

我有一个包含日期列的数据框。但是,日期戳可能不正确,例如以下带有“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

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

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

到目前为止,我可以将列转换为日期时间,但是有没有办法删除日期戳不正确的行?非常感谢!

【问题讨论】:

    标签: python pandas date datetime dataframe


    【解决方案1】:

    强制错误并删除,即:

    dates['Date'] = pd.to_datetime(dates['Date'],errors='coerce')
    dates.dropna(inplace=True)
    

    【讨论】:

    • 谢谢,确实是我正在寻找的 errors 输入!将在 10 分钟规则后接受您的回答。
    猜你喜欢
    • 1970-01-01
    • 2023-01-12
    • 1970-01-01
    • 2021-10-11
    • 2019-12-18
    • 1970-01-01
    • 2017-02-09
    • 2020-07-06
    相关资源
    最近更新 更多