Pandas DataFrame中复杂日期字符串的清洗与格式化教程

Pandas DataFrame中复杂日期字符串的清洗与格式化教程

本教程详细介绍了如何在Pandas DataFrame中处理包含特殊字符和冗余信息的日期字符串。文章提供了两种核心策略:一是利用pd.to_datetime函数的exact=False参数直接将复杂字符串转换为日期时间对象,二是结合正则表达式str.extract和str.replace方法,从混乱的字符串中精准提取并标准化日期部分,以应对不同格式的日期字符串,确保数据清洗的准确性和灵活性。

引言:Pandas DataFrame中日期字符串的清洗挑战

在数据分析和处理过程中,我们经常会遇到dataframe中日期列包含非标准格式、特殊字符或额外信息的情况。例如,日期字符串可能混杂着时间、冒号、空格等,这给直接的类型转换或格式化带来了挑战。本教程将介绍几种有效的方法来清洗和标准化这些复杂的日期字符串,使其符合分析需求。

方法一:利用pd.to_datetime的灵活性进行转换

如果您的最终目标是将日期字符串转换为Pandas的datetime对象,并且字符串中包含的额外信息不会完全破坏日期部分的识别,那么pd.to_datetime函数提供了一个非常便捷的参数:exact=False。

exact=False参数允许to_datetime在尝试解析日期时忽略字符串中的额外数据,只要日期部分能够被识别。这在处理日期前后有无关字符(如时间戳、冒号等)时非常有用。

示例数据:

import pandas as pdimport iodata = """id date1  '  : 07/01/2020 23:25'2  ': 07/02/2020'3  ' 07/03/2020 23:25 1'4  '07/04/2020'5  '23:50 07/05/2020'6  '07 06 2023'7  '00:00 07 07 2023'"""df = pd.read_csv(io.StringIO(data), sep=r's{2,}', engine='python')df['date'] = df['date'].str.strip("'") # 清除单引号print("原始DataFrame:")print(df)

使用pd.to_datetime进行转换:

df['out'] = pd.to_datetime(df['date'], format='%d/%m/%Y', exact=False)print("n使用pd.to_datetime(exact=False)后的DataFrame:")print(df)

输出结果:

原始DataFrame:   id                  date0   1    : 07/01/2020 23:251   2          : 07/02/20202   3    07/03/2020 23:25 13   4            07/04/20204   5      23:50 07/05/20205   6            07 06 20236   7      00:00 07 07 2023使用pd.to_datetime(exact=False)后的DataFrame:   id                  date        out0   1    : 07/01/2020 23:25 2020-01-071   2          : 07/02/2020 2020-02-072   3    07/03/2020 23:25 1 2020-03-073   4            07/04/2020 2020-04-074   5      23:50 07/05/2020 2020-05-075   6            07 06 2023 2023-06-076   7      00:00 07 07 2023 2023-07-07

注意事项:

format参数仍然很重要,它告诉Pandas日期的基本结构(例如,%d/%m/%Y表示日月年)。exact=False并非万能,如果日期部分本身格式不一致或被严重破坏,它可能无法正确解析。

方法二:使用正则表达式提取和标准化日期字符串

如果您的目标是提取纯净的日期字符串(例如DD/MM/YYYY格式),或者pd.to_datetime无法满足需求,那么结合正则表达式和str.extract方法是更灵活的选择。

2.1 提取标准DD/MM/YYYY格式

对于形如DD/MM/YYYY的日期模式,我们可以构建一个精确的正则表达式来匹配。

正则表达式: (d{2}/d{2}/d{4})

d{2}:匹配两个数字(代表日或月)。/:匹配斜杠(需要转义)。d{4}:匹配四个数字(代表年)。():捕获组,str.extract会返回捕获组中的内容。

代码示例:

YOO必优科技-AI写作 YOO必优科技-AI写作

智能图文创作平台,让内容创作更简单

YOO必优科技-AI写作 38 查看详情 YOO必优科技-AI写作

df['clean_slash'] = df['date'].str.extract(r'(d{2}/d{2}/d{4})')print("n使用str.extract提取标准斜杠日期后的DataFrame:")print(df)

输出结果:

使用str.extract提取标准斜杠日期后的DataFrame:   id                  date        out clean_slash0   1    : 07/01/2020 23:25 2020-01-07  07/01/20201   2          : 07/02/2020 2020-02-07  07/02/20202   3    07/03/2020 23:25 1 2020-03-07  07/03/20203   4            07/04/2020 2020-04-07  07/04/20204   5      23:50 07/05/2020 2020-05-07  07/05/20205   6            07 06 2023 2023-06-07         NaN6   7      00:00 07 07 2023 2023-07-07         NaN

可以看到,对于以空格分隔的日期(如第6、7行),此正则未能匹配。

2.2 提取并标准化包含不同分隔符的日期

当日期字符串可能使用斜杠或空格作为分隔符时,我们需要一个更灵活的正则表达式来捕获这些模式,并随后进行标准化。

正则表达式: (d{2}[ /]d{2}[ /]d{4})

[ /]:匹配一个空格或一个斜杠。这使得正则表达式能够同时捕获DD/MM/YYYY和DD MM YYYY格式。

代码示例:

df['clean_mixed'] = (df['date']                     .str.extract(r'(d{2}[ /]d{2}[ /]d{4})', expand=False)                     .str.replace(' ', '/')                    )print("n使用str.extract提取并标准化日期后的DataFrame:")print(df)

输出结果:

使用str.extract提取并标准化日期后的DataFrame:   id                  date        out clean_slash clean_mixed0   1    : 07/01/2020 23:25 2020-01-07  07/01/2020  07/01/20201   2          : 07/02/2020 2020-02-07  07/02/2020  07/02/20202   3    07/03/2020 23:25 1 2020-03-07  07/03/2020  07/03/20204   4            07/04/2020 2020-04-07  07/04/2020  07/04/20205   5      23:50 07/05/2020 2020-05-07  07/05/2020  07/05/20206   6            07 06 2023 2023-06-07         NaN  07/06/20237   7      00:00 07 07 2023 2023-07-07         NaN  07/07/2023

通过这种方法,我们成功地提取了所有日期,并将其统一标准化为DD/MM/YYYY格式。

总结

清洗Pandas DataFrame中的复杂日期字符串是一个常见的任务。本教程提供了两种主要的解决方案:

直接转换为datetime对象: 利用pd.to_datetime函数的exact=False参数,可以在日期字符串中包含额外信息时,尝试直接将其转换为日期时间对象。这种方法适用于目标是datetime类型,且日期格式相对一致的情况。使用正则表达式提取和标准化字符串: 结合Series.str.extract和Series.str.replace,可以灵活地从复杂字符串中提取特定模式的日期,并将其标准化为统一的字符串格式。这种方法在需要更精细控制提取内容或处理多种日期分隔符时更为强大。

在实际应用中,选择哪种方法取决于您的具体需求和数据特点。通常,如果最终需要进行日期计算或时间序列分析,转换为datetime对象是首选;如果仅仅需要一个干净的日期字符串,那么正则表达式提取是更直接的路径。无论选择哪种方法,理解数据中日期字符串的模式是成功的关键。

以上就是Pandas DataFrame中复杂日期字符串的清洗与格式化教程的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/854440.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月27日 19:43:29
下一篇 2025年11月27日 19:50:30

相关推荐

  • 什么是Web3撸空投?为什么很多年轻人热衷撸空投

    Web3撸空投本质是用户以注意力与数据换取项目方代币的行为,其核心动因是低门槛、高杠杆与认知套利;1. 项目方通过空投实现冷启动、去中心化叙事与代币分发;2. 参与者以时间投入为主,追求高ROI与暴富想象;3. 交易所作为空投变现枢纽推动价值链闭环;4. 年轻人热衷源于时间套利、幂律收益、游戏化机制…

    2025年12月8日
    000
  • NFT头像怎么制作?NFT头像全流程制作教程

    NFT头像,作为数字世界中的个性化身份标识,其创作过程结合了艺术创意与程序化生成技术。一个完整的NFT头像项目,从一个简单的想法到最终在区块链上呈现,需要经历一系列精心设计的步骤。这个教程将详细分解制作NFT头像的全流程,引导创作者了解其中每一个关键环节。 概念构思与草图设计 1. 确定项目的主题与…

    好文分享 2025年12月8日
    000
  • 什么是OLAXBT(AIO币)?值得投资吗?OLAXBT项目概述,代币经济,前景分析

    目录 OLAXBT项目定位OLAXBT核心技术OlaXBT最新动态AIO代币经济代币分配解锁时间表代币效用OLAXBT生态进展OLAXBT风险管理与应对措施OLAXBT未来规划常见问题总结 olaxbt(aio)是一款将 ai 驱动的量化策略与去中心化交易协议结合的 web3 平台,旨在通过预制与自…

    2025年12月8日 好文分享
    000
  • 数字货币超短单是什么?做超短单应该注意些什么

    数字货币超短单交易是一种依赖价格惯性、微利复利和流动性套利的高频策略,其本质是在3-5分钟内通过精准技术信号捕捉微小波动获利;1.核心逻辑包括68%概率的价格惯性延续、单日20-50次交易的微利复利模型及订单簿深度不足时的流动性套利;2.实战配置需使用即时图与1/3分钟K线,结合5/55/113均线…

    2025年12月8日
    000
  • 什么是加密货币中的统计套利?统计套利是如何运作的?

    统计套利简介 统计套利是一种基于数学模型在金融市场中捕捉价格错配的交易方式。其核心理念源于均值回归,即资产价格在短期内可能偏离长期趋势,但最终会回归其历史平均水平。交易者利用统计方法分析资产之间的关联性,寻找那些通常同步变动的资产组合。当这些资产的价格关系出现异常偏离时,便产生套利机会。 在加密货币…

    2025年12月8日
    000
  • 莱特币储备公司来了! MEI Pharma砸1亿镁投资,LTC创办人前进董事会

    目录 融资1 亿镁买LTC,找Charlie Lee 入董事会、GSR 管理储备什么是LTC?为改善BTC 交易效率而产生各家企业接连模仿微策略储备模式,投资人须谨慎看待 ‍mei pharma 通过私募筹集1亿美元并全部用于购入ltc,同时邀请其创始人charlie lee加入董事会,此举效仿微策…

    2025年12月8日 好文分享
    000
  • Theoriq(THQ币)是什么?它是如何工作的?THQ 代币经济学和实用性介绍

    目录 Theoriq 是什么以及它是如何工作的?THQ 代币经济学和实用性投资分析与市场地位测试网性能和用户采用率技术创新与安全措施投资风险与考虑因素THQ 价格展望和市场预测常见问题关键要点 这篇文章探讨了theoriq,这是一个突破性的去中心化协议,它将人工智能与区块链技术相结合,以创建自主的人…

    2025年12月8日
    000
  • 币圈交易策略在哪看 币圈交易策略体系

    币圈交易策略可通过专业平台、社交媒体、社区论坛、交易所报告及付费服务获取。1.专业平台如TradingView、CoinDesk提供分析报告;2.社交媒体如推特、YouTube有KOL分享观点;3.社区论坛如Reddit、币安广场便于经验交流;4.交易所研究报告如Binance Research具权…

    2025年12月8日
    000
  • AI驱动的加密货币交易机器人怎么配置与使用

    AI加密货币交易机器人是自动化程序,使用机器学习算法进行买卖决策,具备7×24小时运行、情绪中立和快速响应市场的能力。其核心优势在于适应性强、策略动态调整,适用于不同交易风格的用户。设置AI交易机器人需五步:1.选择支持AI功能的平台(如Freqtrade、3Commas);2.连接交易所…

    2025年12月8日
    000
  • Chainbase($C币)是什么?怎么样?Chainbase全球最大全链数据网络的完整指南

    目录 什么是Chainbase($C代币)?Chainbase 为区块链数据和 AI 解决了哪些问题1. 区块链数据碎片化的挑战2. 缺乏人工智能数据标准3.集中数据控制和访问问题4.可扩展性和性能限制Chainbase Genesis:超数据网络背后的故事Chainbase 功能:四层架构和 AI…

    2025年12月8日 好文分享
    000
  • 私钥是什么,有哪些类型?

    私钥是加密货币中用于控制资产的核心凭证,其类型主要包括:1、随机生成私钥,通过安全算法确保不可预测;2、助记词,以单词序列形式便于记忆和备份;3、种子短语,等同于助记词并用于生成主私钥;4、硬件私钥,存储在离线设备中提升安全性;5、纸存储私钥,采用物理方式冷存储;6、分层确定性私钥,支持多地址管理且…

    2025年12月8日
    000
  • 别再当韭菜了!虚拟货币量化成交实战课

    本文旨在深入浅出地介绍虚拟货币量化交易,帮助您理解其核心理念与运作方式。我们将通过分步讲解,带您了解如何从零开始搭建一个基础的量化交易流程,从而摆脱情绪化交易的困扰,向更系统、更策略化的交易方式迈进。 2025主流加密货币交易所官网注册地址推荐: 欧易OKX: Binance币安: Gateio芝麻…

    2025年12月8日
    000
  • HaasOnline Python进阶玩法:自定义AI交易脚本

    本文将详细阐述在HaasOnline平台上如何运用Python进行AI交易脚本的自定义开发。文章会引导您从环境准备开始,逐步讲解自定义脚本的核心步骤,包括理解脚本结构、定义交易逻辑、编写代码、回测优化以及最终部署。同时,本文还会介绍如何利用GitHub上的开源策略库,来加速您的学习与开发进程,帮助您…

    2025年12月8日
    000
  • 比特币定投教程|每月自动购买的4种智能方法

    本文将详细阐述比特币定投的概念,并为您解析实现每月自动购买的四种主流智能方法。通过本文的引导,您将学会如何设置自动化投资流程,并掌握设置价格波动提醒的技巧,从而更科学地进行长期资产配置。 2025主流加密货币交易所官网注册地址推荐: 欧易OKX: Binance币安: Gateio芝麻开门: 火币h…

    2025年12月8日
    000
  • 【量化交易入门】加密货币自动搬砖 年化300%的Arbitrage Bot搭建教程

    加密货币市场因其波动性,为量化交易提供了机会。其中,“搬砖”,即套利(Arbitrage),是一种常见的策略,旨在利用不同交易平台之间同一资产的价格差异获取收益。本文将介绍如何通过搭建一个自动化的套利机器人(Arbitrage Bot)来实现这一目标,并探讨标题中提及的年化300%潜在收益的可能性以…

    2025年12月8日
    000
  • 交易平台API对接软件合集 职业交易员绝不外传的赚钱工具箱

    对于追求效率和策略执行精度的职业交易员来说,交易平台API对接软件构成了他们不愿轻易示人的“赚钱工具箱”。这类软件通过直接连接交易平台的应用程序接口(API),赋予交易员高度的自动化和定制化能力。它们不仅是执行交易的工具,更是实现复杂策略、进行深度市场分析的关键。本文旨在介绍这类工具的基本概念、核心…

    2025年12月8日
    000
  • AI量化交易年度横评 惊人回报率!机器人自动交易的秘密全公开

    本文将深入探讨AI量化交易背后常被提及的“惊人回报率”的来源,揭开机器人自动交易的核心秘密。我们将详细讲解其工作流程,帮助用户理解整个操作过程,并结合网络上的综合评价,对当前主流的AI量化交易平台进行一个横向评述,为用户提供一个客观的参考视角。 2025主流加密货币交易所官网注册地址推荐: 欧易OK…

    2025年12月8日
    000
  • 市场情绪复苏回暖!近期表现亮眼的Meme币盘点

    目录 「老币」逢春新情绪,新 Meme 外有加密概念的股市狂吸流量,内有 btc 自顾自地走独立行情,加密市场翘首以盼的「山寨季」行情好像仍在蓄势中,尚未真正回归。 不过随着市场情绪复苏回暖,Meme 代币们开始久违地先行于市场。 $USELESS 持续拉升带动 Meme 板块情绪复苏、ETH 系老…

    2025年12月8日 好文分享
    000
  • 2025量化交易神技:Python自动搬砖策略,日赚5%稳如狗!

    数字资产市场以其高波动性吸引着全球目光。在这种环境下,如何稳定地捕捉收益成为了无数参与者追求的目标。量化交易,凭借其依赖数据、算法驱动的特性,正成为应对市场挑战的利器。特别是在2025年这个充满无限可能的时间节点,结合强大的编程语言python构建自动化的“搬砖”策略,即利用不同交易平台之间的微小价…

    2025年12月8日
    000
  • 什么是Fartcoin(FARTCOIN)?FARTCOIN代币基本信息概述

    目录 什么是 Fartcoin?项目起源和灵感FARTCOIN代币基本信息概括 与技术创新交织在一起,一些项目会突然出现,它们并非因其实用性或基础设施而引发轩然大波,而仅仅是因为它们的名字。fartcoin(fartcoin)就是最明显的例子。fartcoin最初在solana区块链上以玩笑之名推出…

    2025年12月8日
    000

发表回复

登录后才能评论
关注微信