程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

如何从 Pandas 中的列中提取日期?

发布于2024-11-10 09:29     阅读(625)     评论(0)     点赞(18)     收藏(4)


我试图从 a 中提取日期。日期只能从 2000 年及以后开始但日期格式可以是任何格式,包括日期时间。column(Result)dataframe

我想要的只是约会。

是否有一种使用一些简单的正则表达式代码的简单方法来实现它?

数据集示例:

date_extract_df = pd.DataFrame({
'Result':[': XYZ',': 39 YRS/M',': Self',': HOME COLLECTION',': 10593974',
           ': 012408030006',': 03/08/2024',': 03/Aug/2024 11:50 AM',': 03/Aug/2024 03:24 PM',
            ' ','31.80','15'],
 'Unit':['dfd','dfdfd','tytyt','03/08/2024','fgf','tyt','xcx','ere','sds','03/Aug/2024 03:24 PM',
        '4545','5656']
})
Expected Result:

    0
    1
    2
    3
    4
    5
    6 03/08/2024
    7 03/Aug/2024
    8 03/Aug/2024
    9 03/Aug/2024
    10
    11

我不擅长正则表达式并尝试过以下代码:

date_extract_df.Result.str.extract(r"^[0,1]?\d{1}\/(([0-2]?\d{1})|([3][0,1]{1}))\/(([1]{1}[9]{1}[9]{1}\d{1})|([2-9]{1}\d{3}))$")

有没有办法找出列中包含日期的行,然后过滤该行以提取日期?

我正在尝试采用类似的方法:

datetime.datetime.isoformat(date_check['Result'][9])

date_check['Result'].apply(lambda x: datetime.datetime.isoformat(x))


解决方案


减去纪元时间(第 6 行),这应该可以完成任务

pd.to_datetime(date_extract_df["Result"].str.replace(": ",""), errors="coerce")

为了更深入地了解,你可以使用第三方工具来dateparser涵盖更多情况



所属网站分类: 技术文章 > 问答

作者:黑洞官方问答小能手

链接:https://www.pythonheidong.com/blog/article/2045416/713e99a2f248616df69d/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

18 0
收藏该文
已收藏

评论内容:(最多支持255个字符)