如何从Python DataFrame的日期列中提取日期并转换格式?
提取DataFrame文本列中的日期并转换格式
解决方案代码
import pandas as pd # 初始化示例DataFrame df = pd.DataFrame({ "Date": ["2020-01-27 welcome ! offer", "Space ! offer 2020-02-27", "new | 2020-03-27"], "A_item": [2, 8, 0], "B_item": [1, 7, 10], "C_item": [9, 2, 9] }) # 提取日期并转换为目标格式 df["Extracted Date"] = pd.to_datetime( df["Date"].str.extract(r'(\d{4}-\d{2}-\d{2})')[0] ).dt.strftime("%d-%m-%Y") # 查看结果 print(df)
代码说明
- 提取日期字符串:使用
str.extract(r'(\d{4}-\d{2}-\d{2})')通过正则表达式匹配YYYY-MM-DD格式的日期,提取出纯日期字符串。正则中的\d{4}匹配4位年份,\d{2}匹配两位月份和日期。 - 转换为datetime类型:用
pd.to_datetime()将提取到的字符串转为datetime对象,便于后续格式调整。 - 格式化日期:通过
.dt.strftime("%d-%m-%Y")将datetime对象转换为DD-MM-YYYY格式的字符串,生成新的Extracted Date列。
补充说明
如果你的Date列中存在多个日期,上述方法会提取第一个匹配到的日期;如果需要适配其他日期格式(比如MM/DD/YYYY),只需修改正则表达式和strftime的格式参数即可。
内容的提问来源于stack exchange,提问作者j_90
相关产品推荐
相关产品推荐

