加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 熊猫验证日期格式

发布时间:2020-12-20 12:14:00 所属栏目:Python 来源:网络整理
导读:有没有什么好方法可以验证数据框列中的所有项目都有有效的日期格式? 我的日期格式是2010年8月11日. 我看到了这个通用答案,其中: try: datetime.datetime.strptime(date_text,'%Y-%m-%d')except ValueError: raise ValueError("Incorrect data format,shoul
有没有什么好方法可以验证数据框列中的所有项目都有有效的日期格式?

我的日期格式是2010年8月11日.

我看到了这个通用答案,其中:

try:
    datetime.datetime.strptime(date_text,'%Y-%m-%d')
except ValueError:
    raise ValueError("Incorrect data format,should be YYYY-MM-DD")

来源:https://stackoverflow.com/a/16870699/1374488

但我认为在我的情况下这不好(有效).

我假设我必须首先将字符串修改为pandas日期,如下所述:
Convert string date time to pandas datetime

我是Python世界的新手,任何想法都赞赏.

解决方法

(从piRSquared的答案借来的格式)

if pd.to_datetime(df['date'],format='%d-%b-%Y',errors='coerce').notnull().all():
    # do something

这就是LYBL-“在你跳跃之前看”的方法.假设所有日期字符串都有效,这将返回True – 这意味着它们都被转换为实际的pd.Timestamp对象.无效的日期字符串被强制转换为NaT,这是与NaN等效的日期时间.

或者,

try:
    pd.to_datetime(df['date'],errors='raise')
    # do something
except ValueError:
    pass

这是EAFP-“更容易请求宽恕而非权限”方法,遇到无效日期字符串时会引发ValueError.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读